【原创】Selenium学习系列之(四)—Selenium 调试和语言转换

来源:互联网 发布:国内上google 知乎 编辑:程序博客网 时间:2024/05/16 15:08

调试

在录制 Selenium脚本完成后,回放时不一定能顺利执行完成,总会遇到这样或那样的问题,但一般80%的问题都是由于element找不到导致的,这时就需要我们耐心来调试。

以下图为例,脚本执行到verifyText这一步时报错了(报错的步骤会以红色背景色显示),点选【Log】标签,查看log显示 ‘[error] Element //td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/font/b not found’, 提示的原因是由于在页面没有找到这个特定元素。一般来说,如果verifyText失败有两种可能,一种是 Locator可能写错了,一种是之前的步骤有错误导致根本没有到达这个页面,所以找不到。

LogInfo

先来验证第一种。我们手动操作login 系统,然后选中这条verifyText命令,点选【find】按钮,若 提示[error] locator not found: //td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td[2]/font/b, 那么说明我们locator写的不正确,需要改正。否则,命令执行成功并且element以高亮显示,则说明locator没有问题。

排除了第一种可能,开始验证第二种可能。这样的话就需要一步步仔细排查了,首先检查上一个页面是否正确。通过查看我们发现 定义变量时 变量名称为LoginName,而使用时 变量名称误写为Loginname(注意 要区分大小写),这样脚本执行时 LoginID输入的就是空值,导致登录失败,所以element肯定找不到了。

语言转换

Selenium是可以支持多种语言的,包括C#,Java,Python和Ruby等。一般我们录制的是以html形式存储的,但是为了显示直观一般以Table形式显示在UI,但selenium给我们提供了选项可以将其转为C#/Java/Python/Ruby 等。下图所示,是将我们的loginTestCase 转为Java/Junit4脚本,关于Java/Junit4 ,我们在后面的章节讲webdriver时会讲到的,在这边文章的最后 我会附一个 Java/Junit4 test script,大家可以先看一下。

录制生成的Table样式

Table

录制生成的HTML

html

转换操作

Language

 

附 Junit4 script:

阅读全文
0 0