自动化测试笔记(selenium+pytest+Allure)

本文介绍了自动化测试的好处和适用场景,重点讲解了使用Selenium进行网页UI自动化测试的组件、环境搭建、元素定位以及常见操作。接着,介绍了Pytest框架的用例编写规则和断言机制,并探讨了Allure测试报告的生成与使用。通过这些工具和方法,可以提升自动化测试的效率和质量。
摘要由CSDN通过智能技术生成


自动化测试:所有采用程序或代码来替代或辅助人工测试的行为称为自动化测试。
自动化测试好处:提升工作效率
主要应用环节:回归测试、兼容性测试、冒烟测试
适合自动化测试的项目特点:
1、项目需求稳定
2、项目周期较长
3、脚本可以重复使用

selenium:是由thoughtworks公司2004年左右开发的基于浏览器的自动化测试工具,提供了一整套的用于
          web UI自动化的函数。
    组成:webdriver:基于浏览器的自动化测试工具,提供了一整套的用于web UI自动化的函数。
          selenium IDE:firefox浏览器的插件,可以录制脚本,selenium3.0已被淘汰。
          selenium grid:用于管理和执行自动化测试用例(课程中讲jenkins)
    
    selenium是一个C/S模式工具,脚本是C端,浏览器是S端,使用json wire协议。

搭建自动化测试环境:
1、安装python和编译器
2、安装浏览器,将浏览器的安装路径添加到path变量中。
3、将浏览器的驱动文件存放路径添加到path变量中
4、导入selenium库(pip install selenium)
        离线导入:下载selenium tar包,解压。
                   python setup.py build
                   python setup.py install

注意:浏览器驱动文件与浏览器版本需要匹配,工作中浏览器版本不能频繁升级


chrome浏览器驱动文件下载地址:http://chromedriver.storage.googleapis.com/index.html
https://npm.taobao.org/mirrors/chromedriver
火狐浏览器驱动文件对应地址:https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
                   下载地址:  https://github.com/mozilla/geckodriver/releases

edge浏览器驱动文件下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

元素定位:
定位方法:
find_element():单元素定位,返回值为定位到的元素对象
find_elements():多元素定位,返回值为列表,列表中是定位到的元素对象

八种元素定位方式:
1、id定位:find_element(By.ID,'id属性值')
2、name定位:find_element(By.NAME,'name属性值')
3、class定位:find_element(By.CLASS_NAME,'name属性值')
            class属性值中有空格时必须使用点代替
4、tag定位:find_element(By.TAG_NAME,'元素的标签值')
5、link_text定位:find_element(By.LINK_TEXT,'超链接文字')
6、partial_link_text定位:find_element(By.PARTIAL_LINK_TEXT,'超链接部分文字')
7、css定位:find_element(By.CSS_SELECTOR,'css值')
8、xpath定位:find_element(By.XPATH,'xpath值')

Day2:
frame框架(标签是iframe或frame)切换:
切换方法:
切入框架:    switch_to.frame()
    1、id切入:switch_to.frame('frame框架id属性值')
    2、name切入:switch_to.frame('frame框架name属性值')
    3、先定位frame框架,再切入:switch_to.frame(frame框架对象)
    4、索引切入:switch_to.frame(索引值)

    注意:frame框架存在嵌套的情况下需要一层一层切入

返回父框架:switch_to.parent_frame()
切出框架:switch_to.default_content()


网页切换:
1、获取打开网页的句柄,得到一个由网页对象组成的列表,按照网页打开顺序,索引从0开始
handles = driver.window_handles

2、切换网页:switch_to.window(handler[索引值])
3、c

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python结合SeleniumpytestAllure可以创建强大的Web端自动化测试流程。以下是这个组合的工作方式: 1. **Selenium**[^1]: 是一个用于Web应用程序自动化测试的开源库,它允许你模拟用户在浏览器上的交互,如点击按钮、填写表单等。通过Selenium,你可以编写Python脚本来控制浏览器的行为。 2. **pytest**: 是一个流行的测试框架,以其简洁的语法和丰富的插件生态系统著称。它能更方便地编写测试用例,比如断言、参数化测试等。 3. **Allure**[^2]: 是一个报告工具,用于生成详细的测试报告,包括测试执行过程的可视化图表和详细的测试结果描述。这有助于团队更好地理解和跟踪测试状态。 4. **Jenkins**: 是一个持续集成/持续部署(CI/CD)服务器,它可以集成pytestAllure,自动运行测试并生成报告,从而实现自动化测试的持续执行。 具体操作流程如下: 1. 安装必要的库(如Selenium WebDriver、pytestpytest-seleniumallure-pytest等)。 2. 使用pytest编写测试用例,比如: ```python def test_login(self, driver): driver.get("http://example.com/login") username_input = driver.find_element_by_name("username") username_input.send_keys("test_user") password_input = driver.find_element_by_name("password") password_input.send_keys("test_password") password_input.submit() ``` 3. 使用pytest-selenium标记测试为Selenium测试: ```python import pytest_selenium @pytest.mark.selenium def test_login_with_selenium(driver): ... ``` 4. 在pytest配置中设置Allure插件: ```python pytest_plugins = ["allure_pytest"] ``` 5. 在Jenkins中配置一个job,连接到Allure服务器,每次构建后自动上传测试报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值