网站广告出价平台,门户网站建设管理工作,企业建设营销型网站的目的有,惠州网站制作工具数据驱动
数据驱动#xff0c;指在软件测试领域当中的数据驱动测试#xff08;Data-Driven Testing#xff0c;简称DDT#xff09;是⼀种软件测试⽅法#xff0c;在不同的数据下重复执⾏相同顺序的测试步骤#xff0c;测试脚本从数据源读取测试数据#xff0c;⽽不使⽤…数据驱动
数据驱动指在软件测试领域当中的数据驱动测试Data-Driven Testing简称DDT是⼀种软件测试⽅法在不同的数据下重复执⾏相同顺序的测试步骤测试脚本从数据源读取测试数据⽽不使⽤硬编码将测试数据写死在代码
测试数据源存放位置 • 直接写在py文件里面 • 写在 Json、Excel、CSV、Yaml等文件里面 • 存在数据库 • 造数脚本 • 调用接口获取数据
常见测试框架里面应用 • Pytest使用装饰器 pytest.mark.parametrize(xx) • TestNG使用注解DataProvider • Junit5使用注解 ParameterizedTestValueSource(其中一种还有其他方式)
示例
import pytest
from utils.logger import log
from common.config import ini
from PageObject.searchpage import SearchPageclass TestSearch:pytest.fixture(scopeclass, autouseTrue)def open_baidu(self, drivers):打开百度search SearchPage(drivers, ini.url)search.open_home_page()pytest.mark.parametrize(input_text, expected, [(selenium,selenium_百度搜索), (自动化测试,自动化测试_百度搜索), (UI自动化,UI自动化_百度搜索)])def test_search_selenium(self, drivers):搜索search SearchPage(drivers)search.input_search_text(input_text)search.click_search_btn()browser_title driver.titlelog.info(browser_title)assert browser_title expected,浏览器的标题与预期不一致if __name__ __main__:pytest.main([TestCase/test_search.py])关键字驱动
关键字驱动是指将所有用例依赖的公共步骤进⾏再次封装形成关键字调⽤不同的关键字组合实现不同的业务逻辑从⽽驱动测试⽤例执⾏
关键字驱动的实现方法一般有两种 • 第一种自己手动实现关键字进行公共步骤的二次封装 • 第二种自动化测试框架已经自带关键字功能可直接使用或者扩展自定义关键字例如基于Python语言Robot Framework关键字驱动框架
现在我也找了很多测试的朋友做了一个分享技术的交流群共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源没人解答问题坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化性能安全测试开发等等方面有一定建树的技术大牛
分享他们的经验还会分享很多直播讲座和技术沙龙
可以免费学习划重点开源的
qq群号110685036【暗号csdn999】 自己封装关键字 POM里面修改
页面类
from selenium.webdriver.common.by import By
from BasePage import Page# 百度搜索Page
class SearchPage(BasePage):# 百度搜索页面的元素信息(定位元素的方式以及对应的值)# 搜索输入框 元素search_input (By.ID, kw)# 百度一下按钮 元素search_button (By.ID, su)def __init__(self, driver, base_urlhttps://www.baidu.com):Page.__init__(self, driver, base_url)def open_home_page(self):self.driver.get(self.base_url)def input_search_text(self, textseleium):self.input_text(self.search_input, text)def click_search_btn(self):self.click(self.search_button)def search_keyword(self, text):self.open_home_page()self.input_search_text(text)self.click_search_btn()
用例修改
import pytest
from utils.logger import log
from common.config import ini
from PageObject.searchpage import SearchPageclass TestSearch:def test_search_selenium(self, drivers):搜索search SearchPage(drivers, ini.url)search.search_keyword(selenium)browser_title driver.titlelog.info(browser_title)assert browser_title selenium_百度搜索,浏览器的标题与预期不一致if __name__ __main__:pytest.main([TestCase/test_search.py])
总结
我们还可以进一步将代码进行优化减少代码的重复编写将关键字驱动和数据驱动进行结合把关键字定义在Excel或Yaml文件当中读取文件当中的关键字利用反射机制执行关键字的方法在Python中使用反射执行方法可以使用内置的getattr()获取对应的方法再进行执行。
Excel里面内容 ps: 具体框架改造逻辑可以自己思考一下
方法有多种在适当的时候选择合适的方法才是最重要、满足业务需求才是第一位。 最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。