零基础学会用Airtest-Selenium对Firefox进行自动化测试

原创
05/30 15:30
阅读数 113
👆对私有云感兴趣可以进入公众号回复“有云”哦。

1. 前言

本文将详细介绍如何使用AirtestIDE驱动Firefox测试,以及脱离AirtestIDE怎么驱动Firefox(VScode为例)。
看完本文零基础小白也能学会Firefox浏览器自动化测试!!!

2. 如何使用AirtestIDE驱动Firefox浏览器

对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,关于如何驱动chrome浏览器,之前我们的推文已经做了很多详细介绍:
今天我们重点聊一下,如何使用AirtestIDE驱动Firefox浏览器。

1)基础知识

AirtestIDE内置python环境,环境里面装好了Airtest-Selenium库,是基于Selenium封装的。
GeckoDriver是与Firefox浏览器配合使用的驱动程序,安装GeckoDriver需要注意两者的版本兼容,请查看  https://github.com/mozilla/geckodriver/releases  。
详细步骤参考下文:

2)下载GeckoDriver(注意选择对应操作系统的版本)

3)解压获得geckodriver.exe

解压刚才下载的文件,得到geckodriver.exe 。

4)给geckodriver.exe设置为系统环境变量

把geckodriver.exe放到你电脑某个目录下,之后给它设置系统环境变量:

5)在AirtestIDE驱动Firefox做简单的自动化测试

  
  
  
# -*- encoding=utf8 -*-

from airtest.core.api import *
from airtest.cli.parser import cli_setup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebFirefox
import time

#创建Chrome浏览器驱动实例
browser = WebFirefox(firefox_binary=r"C:\Program Files\MozillaFirefox\firefox.exe")

# 访问网页
browser.get('https://www.baidu.com')

#打印页面标题
print(browser.title)

#休眠3
time.sleep(3)

#关闭浏览器
browser.quit()
① 版本说明
【AirtestIDE】1.2.15: https://airtest.netease.com/changelog.html
【python】3.6.5:AirtestIDE内置
【Firefox】113.0.2 (64 位)
【geckodriver】0.33.0(win64): https://github.com/mozilla/geckodriver/releases/tag/v0.33.0
② 启动报错
在运行上述demo时,一开始遇到了一个类似这样的报错:
  
  
  
selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line
查询后发现,是找不到Firefox可执行文件的意思,于是在创建 WebFirefox 时,将firefox.exe可执行文件路径当做参数传递给 WebFirefox ,之后就可以正常运行了。

3. 如何脱离AirtestIDE驱动Firefox(vscode为例)

1)前置条件:安装VScode、配置python环境

2)python配置airtest、airtest-selenium

可参考: 如何部署本地python环境
使用命令如下:
  
  
  
pip install airtest

pip install airtest-selenium

小编的pip版本太旧了,还需更新pip,使用命令:python -m pip install --upgrade pip

3)在cmd控制台测试环境是否配置成功

4)测试脚本demo,解决报错

① No module named pynput
缺少  pynput 库,直接  pip install 安装上即可。
② TypeError: init() got an unexpected keyword argument......
Ctrl+鼠标左键到 proxy.py 文件;
出现  argument 'timeout' 报错的话删掉 timeout=timeout 的参数;
出现 argument 'firefox_options' 报错的话删掉 firefox_opt ions=firefox_options 的参数。

5)脱离AirtestIDE驱动Firefox

4. 小结

今天关于驱动Firefox的教程就到这里啦,更多关于Airtest想看的内容,可以给我们评论/留言。
用airtest-selenium脚本爬取百度热搜标题
Airtest新增iOS、Windows录屏功能,真香!
Airtest

本文分享自微信公众号 - AirtestProject(AirtestProject)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部