调试
在录制 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可能写错了,一种是之前的步骤有错误导致根本没有到达这个页面,所以找不到。
先来验证第一种。我们手动操作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样式
录制生成的HTML
转换操作
附 Junit4 script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|