首页 > 其他分享 >Selenium30-集成unittest

Selenium30-集成unittest

时间:2022-12-27 14:26:11浏览次数:34  
标签:集成 search Selenium30 unittest driver 测试数据 test self

集成unittest原因

  • 原来的demoxxxx.py使用瀑布模型(线性模式)进行代码编写,复用性差、代码冗余、维护成本较高

unittest

  • 是Python语言自带的单元测试框架,做功能自动化和接口测试时也都可以使用这样的框架来管理代码
  • unittest的主要作用有
    • 更方便管理测试用例实现代码
    • 提供了大量的断言方法,可以帮助我们快速检查界面上生成的数据或控件状态
    • 有丰富的日志,有利于代码的调试
    • 批量运行
    • 测试结果报告清晰明了

selenium集成unittest框架步骤:

  • 新建测试模块代码文件:选择Python unittest类型

  • 新建setUp和tearDown的方法

    • setUp做测试准备工作,比如启动浏览器,设置隐式等待超时时间等
    • tearDown做测试收尾工作,比如关闭浏览器等
    • 注意:为了让driver变量在整个类里所有方法中都可以使用,需要在变量名前加self,变成self.driver的写法
  • 新建test开头的测试方法

    • 一个类里可以有一到多个测试方法,主要实现业务操作步骤和断言
    • 也需要使用self.driver的写法访问成员变量
"""
	用例1
	ECsho前台首页
	不输入关键字,点击搜索,等待4秒
	切换到弹出的消息框,点击确定
	
	用例2
	ECsho前台首页
	输入关键字"hello",点击搜索,等待4秒
"""
import unittest
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
class MyTestCase(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Firfox() # 启动浏览器
        self.driver.implicitly_wait(15) # 隐式等待

    def tearDown(self) -> None:
        self.driver.quit() # 关闭浏览器



    def test_01(self):
        self.driver.get("http://localhost/upload/index.php")
        # self.driver.find_element(By.ID,'keyword')
        self.driver.find_element(By.NAME, 'imageField').click()
        sleep(4)
        a2 = self.driver.switch_to.alert # 切换消息框
        t2 = a2.text
        print(t2)
        a2.accept() # 点击 确定 关闭
        sleep(2)

    def test_02(self):
        self.driver.get("http://localhost/upload/index.php")
        self.driver.find_element(By.ID,'keyword').send_keys("hello")
        self.driver.find_element(By.NAME, 'imageField').click()
        sleep(4)
if __name__ == '__main__':
    unittest.main()

集成训练




集成案例优化

  • 合并测试方法、提取测试数据到外部文件
    • 准备一个数据文件search_file_8007.csv,存储三组测试数据
    • 把三个测试方法test_search_01、test_search_02、test_search_03合并为一个测试方法test_search,读取csv文件里的测试数据,判断测试数据是什么情况的测试数据,做不同的操作。

标签:集成,search,Selenium30,unittest,driver,测试数据,test,self
From: https://www.cnblogs.com/sean-test/p/17007973.html

相关文章

  • Golang 项目使用 Gitlab CI/CD 自动化持续集成
    GitlabCI/CD自动化持续集成该功能主要是代码提交到gitlab后,gitlab能按照指定的脚本,去运行诸如测试、构建、发布自动化,避免手工操作本文将演示以下集成项目: 测试(T......
  • cocos2d-x 3.1 集成 云风pbc
    cocos2d-x3.x版本变动比较大,从改用cmake管理整个项目,到使用python集成一体化的项目工具。这些都是我喜欢的,我可以很容易的在我的ubuntu上面搭建环境,而且根本就不用考虑IDE......
  • SpringBoot集成POI
    1、环境搭建<dependencies>  <dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi</artifactId>    <version>4.0.1......
  • 49unittest的基本用法
    1、TestCase:测试用例,所有的用例都是直接继承与UnitTest.TestCase类2、TestFixture:setUp和tearDown,作为前置条件和后置条件3、TestSuite:测试套件4、TestRunner:测试运......
  • jmeter+ant+jenkins接口自动化持续集成
    JMETER+ANT+JENKINS接口自动化持续集成一、在win10环境下安装jdk、jmeter、ant、jenkinsjdk安装参考:https://www.cnblogs.com/lc-blogs/p/17005044.htmljmeter安装参......
  • unittest框架
    About unittest是Python内置的单元测试框架(模块),不仅可以完成单元测试,也适用于web自动化测试中。unittest提供了丰富的断言方法,判断测试用例是否通过,然后生成测试结果报告。......
  • 基于Python语言单元测试框架unittest和pytest的区别
    1.用例编写规则:unittest:提供了testcases测试用例,testsuites测试套件,testfixtures测试固件或者夹具,testloader测试加载器,testrunner测试运行器。必须遵守以下规则:(1)测试文件......
  • Selenium23-UnitTest
    UnittestUnitTest是python自带的一个单元测试框架,用它来做单元测试对于测试来说,unittest框架的作用是自动化脚本(用例代码)执行框架,使用unittest框架来管理运行多个......
  • 【Swagger】SpringBoot快速集成Swagger
    目录:1、依赖2、配置类3、注解引用4、可能遇到的问题5、拓展  1、依赖<!--swagger--><!--https://mvnrepository.com/artifact/io.springfo......
  • 【AGC】集成付费下载服务sdk登录闪退
    问题背景:cp反馈集成付费下载sdk在正常登录时,出现登录闪退的报错,出现故障的手机型号操作系统版本是Android9,集成的付费下载的版本号是drm_v2.5.2.300。部分报错信息:​解决方......