2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python之web自动化测试框架

python之web自动化测试框架

时间:2019-03-11 12:14:33

相关推荐

python之web自动化测试框架

梳理下搭建web自动化框架的流程:

创建目录:

cases:存放测试用例,unittest框架要求用例名必须以test开头,所以命名test_case.py

test_case.py代码如下:继承unittest.TestCase类下面的方法setupclass(),teardownclass()。然后把用例放进去。每个页面作为一个用例

‘’‘这里写业务的用例 用例要用到page unittest’‘’

from page.basePage import Page

import unittest

class UiTester(unittest.TestCase):#继承unittest.TestCase类下面的方法setup(),teardown()

# def setUp(self):#每条测试用例执行之前,先执行它

# pass

# def tearDown(self):#每条测试用例执行之后,执行它

# pass

@classmethod

def setUpClass(cls):#类里面的函数执行之前,最先执行它(所有用例执行之前,执行一次)

cls.page=Page()#实例化,打开浏览器

cls.page.open()#打开url网页

def test_a_login(self):#这是case,每个页面里的功能点,用例与数据源分离,方便维护self.page.send_username()self.page.send_passwd()self.page.login()self.assertTrue(self.page.check_login())def test_b_creatbug(self):self.page.clickbug() # 进入到bug页面self.page.mentionbug() # 点击提bug按钮,进入到提bug页面self.page.selectmodule() # 选择所属模块self.page.bugtype() # 选择bug类型self.page.os() # 选择操作系统self.page.browser() # 选择浏览器self.page.version() # 选择影响版本self.page.assignto() # 选择分配人self.page.deadline() # 选择截止日期self.page.bugtitle() # bug标题self.page.context() # bug步骤self.page.mailto() # 超送人self.page.file()self.page.save()self.assertTrue(self.page.check_creatbug())@classmethoddef tearDownClass(cls):#类里面的所有测试用例执行之后,最后执行它(所有用例执行之后,执行一次)cls.page.quit()

lib目录:pyse.py文件主要存放操作元素的方法比如:click(),send_keys(),double_click(),drag_and_drop()等等page目录:basepage.py,根据PO思想,将每个页面作为一个类,每个页面的功能点作为这个类的一个函数。将所有页面写出来在用例文件test_case.py中调用上面的函数,每个页面作为一个用例,调用每个页面的函数bin:start.py写运行用例的流程:创建测试集合,找到测试用例,将每个测试用例加到测试集合中,运行用例,产生报告。

from lib.logger import logger

from lib.path import WEBCASEPATH,REPORTPATH

from lib.HTMLTestRunner import HTMLTestRunner

import unittest

from lib.tool import Tool

class Main(object):

def run(self):

Tool().clear_picture()

suite = unittest.TestSuite()

cases = unittest.defaultTestLoader.discover(WEBCASEPATH)

print(cases)

for case in cases:

print(case)

suite.addTest(case)

f = open(REPORTPATH,‘wb’)#打开一个报告文件

runner = HTMLTestRunner(f,verbosity=1,title=u’测试报告’, description=u’用例执行情况:')

runner.run(suite)

f.flush()

f.close()

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。