北京手机网站制作多少钱,软件设计开发,高邮建设网站,网站如何备案流程图PythonSeleniumUnittestDdtHTMLReport分布式数据驱动自动化测试框架结构
1、Business#xff1a;公共业务模块#xff0c;如登录模块#xff0c;可以把登录模块进行封装供调用
------login_business.py from Page_Object.Common_Page.login_page import Login_Page
from H…PythonSeleniumUnittestDdtHTMLReport分布式数据驱动自动化测试框架结构
1、Business公共业务模块如登录模块可以把登录模块进行封装供调用
------login_business.py from Page_Object.Common_Page.login_page import Login_Page
from HTMLReport import logger
import timedef login(driver, username, password):登录业务:param driver:浏览器驱动:param username:用户名:param password:密码:return:Nonelogger().info(f使用用户名:{username},密码:{password}进行登陆)login_page Login_Page(driver)login_page.send_username(username)login_page.send_password(password)login_page.submit()time.sleep(2)
----Base_url.py对应的url地址
2、Common与业务无关的公共模块如对Selenium的二次封装方便后期的调用还有一些工具类如在读取数据时需要对读取文件进行封装
3、PageOBject这个就应该不用多说了页面元素的封装这个根据自己公司系统的业务去做分层封装不做过多解释
4、report测试报告
5、TestCase测试用例层下面以logincase为例子
---logincase.py
import unittest
from Business.Base_url import url_index
import ddt
from Common.tools.read_txt import read_txt
from HTMLReport import logger
from Page_Object.Common_Page.index_page import Index_Page
from Common.selenium_library import SeleniumBase
from Business.login_business import loginddt.ddt
class Test_login(unittest.TestCase):def setUp(self):self.driver SeleniumBase().get_web_driver()def tearDown(self):SeleniumBase(self.driver).quit()ddt.unpackddt.data(*read_txt(TestData/login_user_password.txt))def test_login(self, username, password, assert_type):se SeleniumBase(self.driver)se.get(url_index)login(self.driver, username, password)se.add_page_screen_shot()if assert_type 1:logger().info(断言登陆成功)text Index_Page(self.driver).login_success()self.assertIn(测试, text, 登陆成功断言)elif assert_type 2:text self.driver.find_element_by_id(submit).textself.assertIn(立即登录, text, 登陆失败断言)elif assert_type 3:text self.driver.find_element_by_id(submit).textself.assertIn(立即登录, text, 登陆失败断言)elif assert_type 4:text self.driver.find_element_by_id(submit).textself.assertIn(立即登录, text, 登陆失败断言)else:logger().info(f未知断言类型{assert_type})self.assertTrue(False, 未知断言类型)
6、TestData测试数据对应用例的数据都是在这里去取
7、TestSuite测试套件以登录套件为例
---loginsuite.py
import unittestfrom TestCase.LoginCase import login_casedef return_suite():suiteunittest.TestSuite()loaderunittest.TestLoader()suite.addTests(loader.loadTestsFromTestCase(login_case.Test_login))return suite
8、browser.ini浏览器配置文件
[local]
local_browser False
wait_time 10[browser]
name chrome
;name firefox
;name ie
window_width
window_height [grid]
command_executor http://127.0.0.1:4444/wd/hub
headless False
proxy
9、run.py整体运行文件
import unittest
from TestSuite.LinesSuite import lines_suite
from TestSuite.LinesSuite import itinerary_suiteimport HTMLReportsuite unittest.TestSuite()# suite.addTests(login_suite.return_suite())
suite.addTests(lines_suite.return_suite())
suite.addTests(itinerary_suite.return_suite())HTMLReport.TestRunner(report_file_nametest,titleWEB UI 自动化,description登陆,thread_count3
).run(suite)
10、整体框架结构图 【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】 一、Python编程入门到精通
二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具
八、JMeter性能测试
九、总结尾部小惊喜
生命不息奋斗不止。每一份努力都不会被辜负只要坚持不懈终究会有回报。珍惜时间追求梦想。不忘初心砥砺前行。你的未来由你掌握
生命短暂时间宝贵我们无法预知未来会发生什么但我们可以掌握当下。珍惜每一天努力奋斗让自己变得更加强大和优秀。坚定信念执着追求成功终将属于你
只有不断地挑战自己才能不断地超越自己。坚持追求梦想勇敢前行你就会发现奋斗的过程是如此美好而值得。相信自己你一定可以做到
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走
这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你