pythom selenium Web自动化测试项目---购票系统实战
2023-12-15 10:42:24
pythom selenium Web自动化测试项目—购票系统实战
-
环境搭建
-
python环境(建议使用anaconda)
-
pycharm IDE集成开发工具
-
selenimu的安装S
安装命令:pip install selenium
-
-
校验环境是否搭建成功
写一个简单的demo打开浏览器看能否成功
- webDriver的配置,下载chromedriver并解压到python的安装路径下
- 再pycharm中编写代码,看能否成功打开chrome浏览器
# 导入selenium的包 from selenium import webdriver # 添加chrome的配置项 options = webdriver.ChromeOptions() options.add_experimental_option('detach', True) # 打开chrome driver = webdriver.Chrome(options=options)
-
测试流程分析(把手工需要的操作全部用python代码来实现):
-
流程:进入网页>>>>>输入账号(1. 找到输入框,2. 输入用户名)>>>>输入密码>>>>>点击登录>>>>验证码>>>>选票>>>>买票
-
具体实现
-
进入网页
使用.get()方法进入该网页
# 如访问12306的登录页 driver.get('https://kyfw.12306.cn/otn/resources/login.html')
-
输入账号
两个步骤:
- 找到输入账号的文本框
find_element()
- 输入要测试的账号
send_keys()
# 输入用户名,先找到登录框 # 定位元素,操作 driver.find_element('xpath','//*[@id="J-userName"]').send_keys('123456')
- 找到输入账号的文本框
-
输入密码
# 定位输入密码文本框元素,输入密码 driver.find_element('xpath','//*[@id="J-password"]').send_keys('xxxxxx')
-
点击登录
# 点击登录 driver.find_element("xpath",'//*[@id="J-login"]').click()
-
验证码
driver.find_element("xpath",'//*[@id="id_card"]').send_keys('1713') # 点击获取验证码
-
选票
-
买票
-
-
几个技术
-
隐式等待
# 所有找元素都会触发 # 每隔1s找一次这个元素,如果没有找到就继续,知道配置时间过了还没找到就报错,中途找到就往下执行 # 使用场景:用延迟加载的,还比如网络影响 # 优点:加强自动化的稳定性
-
绕过自动化
# 去掉自动化标识 option = Options() option.add_experimental_option('excludeSwitches',['enables-automation']) option.add_argument('--disable-blink-features=AutomationControlled')
-
固定等待
import time time.sleep(2)
-
-
-
-
Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度, Selenium保证元素成功率是通过元素的定位。不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。
S -
自动化测试的优点是能够很快、很广泛地查找缺陷,同时可以做很多重复性的工作,在回归测试阶段,我们可以利用自动化功能测试工具进行,而无须大量的软件测试人员手动的再次执行测试用例,极大的提高了工作效率。
文章来源:https://blog.csdn.net/weixin_52154534/article/details/134934289
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!