Selenium之偷懒教程

发表于:2016-2-15 13:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:lcchuguo    来源:51Testing软件测试网采编

  查看页面控件元素的方式是,在当前页面上按F12.
  然后按一下工具中的光标button,点击你想看的控件。
  所以上面三个选择框都是通过id来定位的。
  以下来定位时间输入框:
  WebElement text = mDriver.findElement(By.id("field_CostTime"));
  text.sendKeys(mHours + "");
  这个非常easy。以id来定位。时间的计算我是通过实时来计算的。以9点上班为准。计算当前时间与9点的差值。
  每一个公司的规章制度不一,每一个公司计算方式也不一样的。
  然后就填写日报内容,我用的方式是把日报的内容写在一个txt文档中,然后读这个文档写。
  可是定位日报输入框有点麻烦。由于它是存在于iframe中的。直接定位不到。
  所以先得转换到iframe中,contentFrame中又包括了一个iframe。然后还得转。这个时候才真正的转到了class名为ke-edit-iframe中。
  然后才干定位输入框。
  mDriver.switchTo().frame("contentFrame");
  mDriver.switchTo().frame(0);
  WebElement content = mDriver.findElement(By.className("ke-content"));
  content.click();
  content.sendKeys(mContext);
  填完上面的内容以后就要提交啦。可是提交button却不在刚才的iframe中。
  所以还得先转换到当前上下文。然后再定位提交button。
  mDriver.switchTo().defaultContent();
  WebElement submit = mDriver.findElement(By.name("submit2"));
  submit.click();
  好,到这一步就算完毕了。
  可是做为一个case。自然要有checkpoint。所以我在代码的后面加了一个推断,推断我是否成功填写日报,然后将结果发送到我的邮箱中。
  WebElement table = mDriver.findElement(By.id("this_last"))
  .findElement(By.tagName("table"));
  WebElement tr = table.findElement(By.tagName("tbody")).findElement(
  By.tagName("tr"));
  if (mDate
  .equals(tr.findElements(By.tagName("td")).get(1).getText())) {
  mFlag = "SUCCESS[" + tr.getText() + "]";
  }
  sendMail(mFlag);
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号