但是在实际应用过程中,同学们可能会遇到一些问题,这里我们详细聊一聊同学们在使用airtest-selenium进行Web自动化测试时,容易遇到的一些问题及其解决办法。
2. 基本概念和用法
1)airtest-selenium是标准的selenium
其实airtest-selenium就是标准的selenium,只不过我们在这个库里额外封装了一些关于 图像识别 和 标签页切换 的方法:
- airtest_touch:图像点击
- assert_template:断言图像存在
- snapshot:给 页截图
- switch_to_previous_tab:切换到上一个打开的标签页
- switch_to_new_tab:切换到最新打开的标签页
- …
2)使用AirtestIDE提供的辅助窗
为了让同学们快速上手,我们在AirtestIDE提供了对应的辅助窗,默认情况下不展示。
但我们需要编写Web自动化测试脚本时,可以在IDE的顶部菜单栏,窗口选项下勾选上Selenium Window:
关于airtest-selenium的详细入门教程,可以参考我们的往期推文:
- 在AirtestIDE中使用airtest-selenium
- selenium常用api介绍
3)结合更多selenium的API
另外,我们非常建议大家先学习一些selenium基础,再来使用airtest-selenium进行Web自动化的测试工作。
这样我们就可以结合selenium更加丰富的API实现更加丰富和复杂的自动化测试脚本。( 上有非常丰富的关于selenium的教程文档,同学们可以自行查找)
3. 常见问题
1)使用airtest-selenium封装的图像方法 错
有些同学在使用airtest-selenium封装的一些图像方法时,出现类似 name ‘Template’ is not defined 的 错:
3)暂不支持在Mac上使用airtest-selenium
目前暂不支持在Mac上使用airtest-selenium,使用时我们也会弹出如下的提示:
Current OS is not ‘Windows’! You can’t use airtest function of Airtest-Selenium. > <
如果我们使用脚本生成测试 告,则需要手动指定 plugins 参数:
5)unknown error: cannot find Chrome binary
这是同学们在使用airtest-selenium进行Web测试 最常问 的一个问题了。通常情况是,我们在AirtestIDE的Selenium Window辅助窗中,点击打开浏览器的按钮,可以正常打开一个chrome浏览器的窗口(因为我们事先在选项-设置中设置了chrome.exe的路径):
但是在执行airtest-selenium脚本,运行到打开浏览器窗口的代码时,却会 类似下述的 错:
如果我们的chrome浏览器是安装在默认路径下的(我们也非常建议将chrome浏览器安装到默认路径下,可以省去很多问题),出现上述 错时,我们需要检查以下2点:
- chrome浏览器匹配的驱动(chromedriver)有没有放在环境变量目录位置上
- chrome 浏览器版本与驱动(chromedriver)版本是否匹配
如果没有放在正确目录下或者与现有浏览器版本不匹配,我们可以在查看安装好的chrome浏览器版本后,到这个路径下下载匹配的chromedriver:http://chromedriver.storage.googleapis.com/index.html 。
如果我们的chrome浏览器没有安装在默认路径下,也很有可能因为Selenium找不到二进制的chrome.exe文件而抛出上述的异常,通常我们可以选择以下方式来解决:
- 卸载已安装的chrome浏览器,然后重新安装到默认路径下
- 不重新安装的话,可以直接 配置chrome浏览器的安装目录到环境变量中
当然我们也支持使用使用代码来指定chrome.exe或者chromedriver(2者的版本必须匹配)的路径:
6)脱离AirtestIDE运行airtest-selenium脚本时未安装库
如果我们使用AirtestIDE自带的环境来运行Web自动化脚本,则直接运行即可,因为内嵌的python环境已经事先安装好了airtest-selenium库。
但是如果我们指定使用本地python环境或者脱离AirtestIDE运行Web自动化脚本,则需要我们在对应的python环境里安装好airtest-selenium库:
否则会出现 no module named ‘airtest_selenium’ 的 错:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!