首页 > 其他分享 >【自动化测试入门】用Airtest - Selenium对Firefox进行自动化测试(0基础也能学会)

【自动化测试入门】用Airtest - Selenium对Firefox进行自动化测试(0基础也能学会)

时间:2024-03-13 15:15:37浏览次数:18  
标签:AirtestIDE 浏览器 geckodriver 自动化 测试 airtest pip Firefox

1. 前言

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

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

对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,今天我们重点聊一下,如何使用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_options=firefox_options的参数。

5)脱离AirtestIDE驱动Firefox

4. 小结

今天关于驱动Firefox的教程就到这里啦

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

如果你想学习软件测试和需要软件测试资料,欢迎加入扣扣交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

 

标签:AirtestIDE,浏览器,geckodriver,自动化,测试,airtest,pip,Firefox
From: https://www.cnblogs.com/NHB6870/p/18070661

相关文章

  • 一个数据库死锁竟然被测试发现了,这你敢信
    测试生产监控发现数据库死锁报错:org.springframework.dao.DeadlockLoserDataAccessException:###Errorupdatingdatabase.Cause:com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException:Deadlockfound 测试是通过什么方式发现呢?  还要从前一段时间老......
  • CANape 22.0新特性:小改进大作用,为汽车测试工程带来更多便利!
    大家好!在前文中,我们已经了解了CANape22.0版本的主要新特性,现在,我们将进一步探索CANape22.0新增的一系列小而美的新特性。尽管这些特性可能不如前文提到的主要更新那样惊艳,但它们同样是CANape22.0版本的亮点所在,这些微小改进将为广大汽车测试工程师们带来更多便利并提升工作效率......
  • CYQ.Data 操作 Redis 性能测试:对比 StackExchange.Redis
    前言:前几天,点开自己的博客,看了一下CYQ.DataV5系列 都有哪些文章,发现了一篇2019年写的:CYQ.Data对于分布式缓存Redis、MemCache高可用的改进及性能测试,于是点进去看了看。感觉文章中有些表述存有问题,不过不是重点。重点,看了里面的测试结论,如果四五年过去了,CYQ.Data 低调的......
  • 【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流
    文章目录前言1.准备数据集和数据预处理1.1数据集选择1.2数据预处理1.3评估指标PSNR和SSIM1.3.1PSNR1.3.2SSIM2.定义网络结构3.设置参数并训练模型3.1参数设置3.2模型训练4.测试训练好的模型5.用训练好的SRCNN模型超分自己的图像数据6.其他补充6.1特征图......
  • Samtec理念 | 测试在工程中的意义
    【摘要/前言】测试是所有制造过程的最后一个步骤,本应是非常重要的步骤,但却经常被忽视。测试不缜密的产品一旦流入市场,必然会摧毁质量声誉。在当今按键发文就能让全世界知晓的全民媒体时代,测试的重要性就更加彰显。与此同时,随着产品本身日渐复杂,受测产品的精密程度也随之攀升......
  • (一)Web功能测试下的安全测试如何进行?
        想到安全测试很多功能测试人员都很难入手,以为都是专业的安全测试人员去做。比如经常碰到的任务:某某某测试下系统有哪些安全问题,而对于经历过长达五六年的web功能、性能、接口测试人员来说,面对该任务就一头雾水。     万事开头难,难在第一步如何走?没有知......
  • 课堂测试试卷—数据分析练
         二、 地域维度标准化:地域属性在科技成果分析中作为一个重要维度,其标准取值非常必要,目前我国采用的标准行政区划代码由两部分组成,一部分为行政区划编码,六位数字组成,前两位表示省编码,中间两位代表市编码,后两位表示所属市的区或县编码。一部分为行政区划名称。两部......
  • 《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外
    1.简介上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是相对前边做一个简单的总结分享给小伙伴们或者童鞋们。废话不多数,直接进入......
  • 《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)
    1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助。2.select下拉框2.1Select类1.在Selenium中,针对html的标签select多选下拉列表有几种方法:selectByIndex(index);......
  • 三月十二号 课堂测试
    今天建民老师留的任务的连接数据库进行添加数据库操作页面代码<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"......