小言_互联网的博客

一起学python自动化(第四天)

295人阅读  评论(0)

本系列文默认各位有一定的测试理论基础、python基础
本系列文默认各位会百度,学习自动化系列的课程,默认各位已经配置好了相关环境,默认安装了编译器。

web自动化测试

前面 我们学习了元素定位的方法,Unittest框架,就是为了写一个自动化的测试。前几节见:
一起学python自动化(第一天)
一起学python自动化(第二天)
一起学python自动化(第三天

下面是一个简单的打开百度搜索:

import unittest
from time import sleep
from selenium import webdriver
class TestBaidu(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        self.driver=webdriver.Chrome()
        self.url="https://www.baidu.com"
        def search(self,search_key):
            self.driver.get(self.url)
            self.driver.find_element_by_id("kw").send_keys(search_key)
            self.driver.find_element_by_id("su").click()
            sleep(2)
        def test_search_key_selenium(self):
            search_key="selenium"
            self.search(search_key)
            self.assertEqual(self.driver.title,search_key+"_百度搜索")

        def test_search_key_selenium(self):
            search_key = "unittest"
            self.search(search_key)
            self.assertEqual(self.driver.title, search_key + "_百度搜索")
        @classmethod
        def tearDownClass(self):
            self.driver.quit()

生成测试报告

1、什么是HTMLTestRunner?

在网上(包括在Python官方文库)找不到HTMLTestRunner相关解释资料。其实HTMLTestRunner是一个第三方的unittest HTML报告库,关于unittest在Python官方文库上很容易找到:https://docs.python.org/zh-cn/3.7/library/unittest.html#assert-methods

2、安装
 
下载链接:https://pan.baidu.com/s/1wqZIWN08h_cvvh0qorQI1g
下载完成以后,放到python安装目录的lib文件夹下。

3、生成HTML测试报告

from selenium import webdriver
import unittest
import HTMLTestReportCN

class Test_Result(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)

    def tearDown(self):
        self.driver.quit()


    def test_search(self):
        self.driver.get('https://www.baidu.com/')


if __name__ == '__main__':
    load = unittest.TestLoader().loadTestsFromTestCase(Test_Result)  # 使用loader加载方法去找寻所有以test命名开头的测试用例
    suite = unittest.TestSuite([load,])  # 将loader放入测试套件中

    path = r'C:\Users\Administrator\PycharmProjects\自动化接口\day4\report\百度.html'  # 后缀名为.html
    with open(path,'wb+') as f:  # 打开测试报告,用wb+的方式
        # stream = 模式      description = 描述信息     title = 测试标题       tester = 测试人
        runner = HTMLTestReportCN.HTMLTestRunner(stream=f,description='描述信息',title='标题',tester='测试人')
        runner.run(suite)


转载:https://blog.csdn.net/weixin_44602565/article/details/110733260
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场