zoukankan      html  css  js  c++  java
  • python+selenium自动化框架

    ---恢复内容开始---

    主要使用的模块:

    1. selenium/webdriver模块(须准备Chrome驱动),主要用于调用浏览器实现自动点击。
    2. unittest模块,主要用于整合测试用例。
    3. xlrd模块,主要用于调用Excle获取测试数据。
    4. HTMLTestRunnerCN模块,主要用于生成测试报告。

    框架分层思路:

    • 常用函数层
    • 测试数据层
    • 测试元素层
    • 测试用例层
    • 测试结果层

    详细解释层级划分:

      一、常用函数层:主要写常用的一些类,方便后面调用,如:selenium调用浏览器、读取URL的EXCEL、读取用户数据的EXCEL等

      二、测试数据层:主要存放一些用户数据/URL/测试数据等到EXCEL中方便后续调用 我这里存放的主要有:

    1. 测试网站的URL。
    2. 项目中不同权限用户的用户名和密码
    3. 常用配置文件信息

      三、测试元素层:主要存放一些较长的Xpath和Css定位路径,使后续脚本简洁

      四、测试用例层:主要使用unittest模块 创建测试用例:

    class Test(unittest.TestCase):
        def setUp(self):
            self.flag = 1
            self.ca = function.OpenChrome()
            self.br = function.OpenChrome().open()
            self.xpath = element.Element()
            self.eid = element.ID()
            self.css = element.Css()
            self.temp = function.Openurl()
            self.br.maximize_window()
    #以上为定义unittest类,并在setUp中添加前置条件
    
            def test_登录用户(self):...
            def test_xxx(self):...
            def test_xxx(self):...
            def test_xxx(self):...
            def test_xxx(self):...
    #以上为使用test__xx函数逐个创建测试用例
    
        def tearDown(self):
            self.assertEqual(self.flag,1,msg="用例执行失败")
            self.br.close()
    #以上为添加后置条件,如:断言,关闭浏览器等

      五、测试结果层:主要使用HTMLTestRunnerCN模块生成测试报告:

        filepath = '../result/Yunque_result.html'
        fp = open(filepath,'wb')
        runner = HTMLTestRunnerCN.HTMLTestReportCN(stream=fp,title='xx测试报告',tester='测试人员',description = '报告中描述部分')
        runner.run(suite)

     测试结果如下图:

  • 相关阅读:
    第12-13周总结
    排球比赛计分规则
    我与计算机
    排球比赛计分规则-三层架构
    怎样成为一个高手 观后感
    最后一周冲刺
    本周psp(观众页面)
    本周psp(观众页面)
    本周工作计量
    本周总结
  • 原文地址:https://www.cnblogs.com/zhangzimo/p/11344706.html
Copyright © 2011-2022 走看看