设置变量
我用selenium添加录制了新增产品的操作,如下:
但是执行测试时却报错了,因为产品名称和产品说明还是之前录制时的值,再次新增时会重复所以新增失败。
可以在selenium吧产品名称改成变量,每次都是拼接个时间戳,这样每次传的产品名称就不一样了,具体操作如下:
1,先在输入产品名称步骤前添加一个command
2,然后点击刚才新增的command,选择execute script
3,target填入js代码:return '产品'+new Date().getTime()
value填写变量名称productName
4,点击输入产品的步骤,将value改成刚才的变量名,这里要用表达式${productName}
5,然后点运行就会发现输入的产品名变成了“产品”这个字符串加时间戳的形式,这样就能保证每次输入的产品名不重复了。
添加断言
如何校验我们新增产品这个操作是否成功呢,比如我这个新增产品成功后,页面会出现操作成功的小弹窗。我们可以添加个断言验证这个弹窗是否出现来判断产品是新增成功。
1,选中点击新增按钮那个步骤,选择record from here
2,这是会操作到点击按钮那一刻,这时会提示你是否继续录制,点击START RECORDING
2,这右键页面的操作成功提示,选择Selenium IDE,在选择Assert Text。这样就可以将提示文字内容加入断言。验证操作结果。
循环
有时候我们想插入10个产品,或者更多产品,这样就需要循环。
1,在打开新增页的步骤上面插入三个command
2,然后点击第一个command,声明一个index的变量,初始是1
3,点击第二个command,添加一个do,代表循环
4,点击第三个command,让变量index自增1
5,然后在断言的后面添加一个command
6,command选择repeat if,代表循环判断,target是
${index}<=10,表示循环条件是index这个变量要小于等于10,变量进入循环是是1,每次循环+1,那么这个循环就会执行9次
7,点击run,循环开始!
导出脚本
最后可以吧刚才配置好的测试用例导出java或者python脚本。这样也可以更灵活的编辑,还可以集成到Jenkins自动化测试。
1,点击新增产品右侧,然后点击export
2,这里有三种语言可以选,分别是java,js,python,我这里选java,然后点击export
3,然后打开,就可以看到脚本内容啦,就是一个java junit单元测试类
4,这里稍稍讲下代码含义
driver.get("http://*****")是打开网址的意思
driver.findElement是查找页面元素的意思,比如按钮啊,输入框啊
click()就是触发点击操作
sendKeys("test说明")就是输入文字的意思
By.id,By.linkText,By.cssSelector就是各种查询元素的方法,这个前端人员应该比较了解
整个测试用例对selenium组件的操作基本就是以上代码组成。