接口自动化测试-selenium模型的含义
更新时间:2021-10-07 06:10:22 作者:admin 浏览:400
接口自动化测试-selenium模型的含义
一、流水账
不知道设计模式时,写自动化测试用例,是采用“业务操作-断言-业务操作2-断言2...”这种流程编写代码的
完全按照手工测试的流程,执行操作,判断预期结果的方式写的代码,看起来就像是流水账
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
from selenium import webdriver
from selenium.webdriver.remote import webelement
import unittest,time,HTMLTestRunner_cn
firefox_profile = r'C:Users86168AppDataRoamingMozillaFirefoxProfilesi7nn3wax.default'
pf = webdriver.FirefoxProfile(firefox_profile)
driver = webdriver.Firefox(pf)
driver.get(u'http://www.baidu.com')
bdhome = driver.title
if bdhome == u'百度一下,你就知道':
print 'PASS'
else:
print 'FAIL'
inputer = driver.find_element_by_id(u'kw')
inputer.clear()
inputer.send_keys(u'python学习')
time.sleep(3)
bdsug = driver.title
if bdhome == u'python学习_百度搜索':
print 'PASS'
else:
print 'FAIL'
driver.quit()
二、稍作修改,将业务操作和预期结果的判断(断言)分离,加入unittest框架,加入HTMLTestRunner
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
from selenium import webdriver
import unittest,time,HTMLTestRunner_cn
firefox_profile = r'C:Users86168AppDataRoamingMozillaFirefoxProfilesi7nn3wax.default'
pf = webdriver.FirefoxProfile(firefox_profile)
driver = webdriver.Firefox(pf)
driver.get(u'http://www.baidu.com')
bdhome = driver.title
inputer = driver.find_element_by_id(u'kw')
inputer.clear()
inputer.send_keys(u'python学习')
time.sleep(3)
bdsug = driver.title
driver.quit()
class MyTestCase(unittest.TestCase):
def test_1(self):
'''
搜索关键字:python
:return: None
'''
self.assertEqual(bdsug,u'python学习路线_百度搜索')
def test_2(self):
'''
打开百度后
:return: None
'''
self.assertEqual(bdhome,u'百度一下,你就知道')
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(MyTestCase('test_1'))
suite.addTest(MyTestCase('test_2'))
with open('line.html','a') as f:
runner = HTMLTestRunner_cn.HTMLTestRunner(stream=f,verbosity=2,title='线性模型')
runner.run(suite)
三、分离业务代码和测试代码,封装业务代码,改造测试代码,这就是一个完整的PO设计模式的测试脚本了
业务代码:
# coding=utf-8
# !/usr/bin/env python
# 业务代码
from selenium import webdriver
import time
firefox_profile = r'C:Users86168AppDataRoamingMozillaFirefoxProfilesi7nn3wax.default'
pf = webdriver.FirefoxProfile(firefox_profile)
driver = webdriver.Firefox(pf)
def home_page():
driver.get(u'http://www.baidu.com')
bdhome = driver.title
inputer = driver.find_element_by_id(u'kw')
inputer.clear()
inputer.send_keys(u'python学习')
time.sleep(3)
bdsug = driver.title
driver.quit()
return bdhome, bdsug
以上是关于selenium模型含义的介绍,由多测师亲自撰写。https://www.aichudan.com/