徐州方案公示在哪个网站社交网站建设码
news/
2025/10/8 20:13:05/
文章来源:
徐州方案公示在哪个网站,社交网站建设码,微信公众平台注册要钱吗,宁波专业网站建设自动化测试模型可以看作自动化测试框架与工具设计的思想。自动化测试不仅仅是单纯写脚本运行就可以了#xff0c;还需要考虑到如何使脚本运行效率提高#xff0c;代码复用、参数化等问题。自动化测试模型分为四大类#xff1a;线性模型、模块化驱动测试、数据驱动、关键字驱…自动化测试模型可以看作自动化测试框架与工具设计的思想。自动化测试不仅仅是单纯写脚本运行就可以了还需要考虑到如何使脚本运行效率提高代码复用、参数化等问题。自动化测试模型分为四大类线性模型、模块化驱动测试、数据驱动、关键字驱动。 1、线性模型 通过录制或编写对应应用程序的操作步骤产生的线性脚本。单纯的来模拟用户完整的操作场景。线性脚本中每个脚本都相互独立且不会产生其他依赖与调用其实就是简单模拟用户某个操作流程都脚本。操作重复操作数据都混合在一起。优点每个脚本相对独立且不产生其他依赖和调用。缺点开发成本高用例之间存在重复的操作。比如重复的用户登录和退出。维护成本高由于重复的操作当重复的操作发生改变时则需要逐一进行脚本的修改。
案例自动登录与退出操作
from selenium import webdriver
from time import sleepdriver webdriver.Firefox()
driver.get_cookie(http://localhot/)# 输入用户名
driver.find_element_by_name(username).clear()
driver.find_element_by_name(username).send_keys(zxw)# 输入密码
driver.find_element_by_name(password).clear()
driver.find_element_by_name(password).send_keys(123456)# 登录
driver.find_element_by_name(Submit).click()
sleep(3)# 退出
driver.find_element_by_link_text(退出).click()
driver.switch_to.alert().accept()
sleep(3)driver.quit()2、模块化驱动测试 线性模型虽然每个用例都可以拿来独立运行但是用例之间重复代码很多开发、维护成本高。其实把重复的操作代码封装为独立的公共模块当用例执行时需要用到这部分直接调用即可这就是模块驱动的方式。比如登录系统、退出登录、截图函数等等。操作重复操作数据混合在一起。优点由于最大限度消除了重复从而提高了开发效率和提高测试用例的可维护性。缺点虽然模块化的步骤相同但是测试数据不同。比如说重复的登录模块如果登录用户不同依旧要重复编写登录脚本。 from selenium import webdriver
from time import sleepclass Login():def user_login(self, driver):# 输入用户名driver.find_element_by_name(username).clear()driver.find_element_by_name(username).send_keys(zxw)# 输入密码driver.find_element_by_name(password).clear()driver.find_element_by_name(password).send_keys(123456)# 登录driver.find_element_by_name(Submit).click()def user_logout(self, driver):# 退出driver.find_element_by_link_text(退出).click()sleep(3)driver.switch_to.alert().accept()if __name__ __main__:driver webdriver.Firefox()driver.get(http://127.0.0.1)# 隐式等待driver.implicitly_wait(10)Login.user_login(driver)Login.user_logout(driver)# 调用登录模块
from LoginClass import *driver webdriver.Firefox()
driver.get(http://localhost/)
driver.implicitly_wait(10)Login().user_login(driver)
Login.user_logout(driver)3、数据驱动测试(参数化) 模块驱动测试等模型虽然解决了脚本的重复问题但是需要测试不同数据的用例时模块驱动的方式就不狠适合了。数据驱动就是数据的改变从而驱动自动化测试的执行最终引起测试结果的改变。装载数据的方式可以使列表、字典或是外部文件(txt、csv、xml、excel)目的就是实现数据和脚本的分离。操作重复操作数据分开。优点通过这种方式将数据和重复操作分开可以快速增加相似测试完成不同数据情况下的测试。 from selenium import webdriver
from time import sleepclass Login():def user_login(self, driver, username, password):# 输入用户名driver.find_element_by_name(username).clear()driver.find_element_by_name(username).send_keys(username)# 输入密码driver.find_element_by_name(password).clear()driver.find_element_by_name(password).send_keys(password)# 登录driver.find_element_by_name(Submit).click()def user_logout(self, driver):# 退出driver.find_element_by_link_text(退出).click()sleep(3)driver.switch_to.alert().accept()if __name__ __main__:driver webdriver.Firefox()driver.get(http://127.0.0.1)# 隐式等待driver.implicitly_wait(10)Login.user_login(driver, test, 123456)Login.user_logout(driver)# 调用登录模块
from LoginClass_para import *driver webdriver.Firefox()
driver.get(http://localhost/)
driver.implicitly_wait(10)Login().user_login(driver, test, 123456)
Login.user_logout(driver)4、关键字驱动测试 通过关键字的改变从而驱动自动化测试的执行最终引起测试结果的改变。selenium IDE是一种传统的关键字驱动的自动化工具Robot Framework是一个功能更强大的关键字驱动测试框架。转载于:https://www.cnblogs.com/xidian2014/p/10422736.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931900.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!