UI自动化的坑

1.启动浏览器报错

UI自动化的坑_第1张图片

原因:浏览器版本与driver版本不匹配

 

2.无匹配元素/元素不可见

参考:UI自动化selenium元素定位不到常见问题

 

3.设置等待时间

在工作中,为了提高测试脚本的稳定性和实用性。我们常常会设置等待时间。常见的有:强制等待、隐式等待、显式等待

UI自动化的坑_第2张图片

 

4.上传文件

最简单的处理方式是sendkeys

但这种方式只适合元素标签为input类型的上传。

webdriver的API无法处理上传文件时系统的对话框。此时,可采用AutoIT v3进行处理。

AutoIT脚本编译成可执行文件exe后,放到本地某一个目录下共程序调用。如下:

AutoIT是一个类似脚本语言的软件。利用它可以方便实现模拟键盘、鼠标、窗口等操作,实现自动化。

下载地址:https://www.autoitscript.com/site/autoit/downloads/

 

5. 日历控件

 日历控件是一种特殊的网页元素,由于其操作的复杂性,我们无法通过模拟手工操作来进行一步步的选择。检查页面元素可以发现,日历控件属于input类型,但是由于其readonly属性,无法使用send_keys直接输入;因此,我们可以通过调用JavaScript脚本(打开Chrome浏览器-右键点击检查-进入console,即可进行JavaScript代码调试

  ),先删除其readonly属性,再使用sendkeys方式进行输入,代码如下:

driver.execute_script('document.getElementById("date").removeAttribute("readonly")')

6.处理图片验证码

  在进行登录注册等操作时,我们经常需要处理一些验证码;除了通过万能码进行登录之外,我们还可以调用百度提供的开放接口进行验证码处理,接口说明文档如下:

  http://ai.baidu.com/docs#/OCR-API/top

你可能感兴趣的:(UI自动化)