- 📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢交流讨论:欢迎加入我们一起学习!
- 📢资源分享:耗时200+小时精选的「软件测试」资料包
- 📢 最困难的时候,也就是我们离成功不远的时候!
目录
- 设计与封装
- 自动化测试框架
- 最后
在自动化测试项目中,为了实现更多功能,我们需要引入不同的库、框架。
首先,你需要将常用的这些库、框架都装上。
pip install requests
pip install selenium
pip install appium
pip install pytest
pip install pytest-rerunfailures
pip install allure-pytest
...
然后,在项目中使用他们。
import pytest
import yagmail
from selenium import webdriverclass MyTest:def setup(self):self.browser = webdriver.Chrome()def test_case(self):browser.find_element_by_id("user").send_keys("admin")browser.find_element_by_id("pawd").send_keys("admin123")# ...page.close()if __name__ == "__main__":pytest.main(["-s", "-v", "./test_case.py","--html", "./test_report.html","--reruns", "3"])yagmail.SMTP()# ...
设计与封装
例如上面的自动化项目代码,我们写多了之后,就会发现常用的库就是那么几个,而且用法大同小异,俗称样板代码。
这个时候你就可以考虑去做一些封装,然后把那些常用的功能封装成了一堆公共方法,在你的项目代码中调用,这样可以更快速的完成开发任务,并且便于应对需求的变化。
import pytest
from common import mail
from test_data import TestData
from page import LoginPageclass MyTest:def test_case(self, browser):page = LoginPage(browser)page.username.send_keys(TestData.admin)page.passowrd.send_keys(TestData.admin_pawd)# ...page.close()if __name__ == "__main__":pytest.main(["-s", "-v", "./test_case.py","--html", "./test_report.html","--reruns", "3"])mail.SMTP()# ...
自动化测试框架
自动化测试框架和你在项目中封装的公共模块有着一些不同。
它实现的功能更通用:例如,你可以在项目中封装一个登录的公共模块,用于所以用例的登录,但不能在框架里面封装一个登录,因为,你们的项目登录是用账号密码,别人家用的是手机号+验证码,你封装的登录脱离了你的项目就不可用了,显然不应该放到框架里。
它应该是和项目分离:因为它要给更多的人使用,并且不能轻易被修改,因此,它应该是独立安装的,不应该和项目代码混到一起。如果一个框架被使用者轻易的改来改去。请问,如何升级?使用者想体验新的版本怎么办?
它应该有一些设计创新:我可不可以把selenium的get()方法改个名字叫open()封装到自己的框架里。当然可以,如果整个框架都是在把别人的API自己换个名字包一层,这和红芯浏览器有什么区别?
假设我们开发的自动化测试框架叫xtest。
首先,需要安装xtest。
pip install xtest
使用xtest编写测试用例。
import xtest
from xtest import TestData
from page import LoginPageclass MyTest:def test_case(self, browser):page = LoginPage()page.username.send_keys(TestData.user)page.passowrd.send_keys(TestData.pawd)# ...if __name__ == "__main__":xtest.main(mail=True)
它应该以更简单的方式实现更强大的功能。当然,不同类型的框架,难易程度也是不同的,实现一个web框架的所需要知识更多,实现一个机器学习框架就更难了,自动化测试框架是站在一堆人的肩膀上来实现,难度系数要低很多。
最后
如果你想学习自动化测试,那么下面这套视频应该会帮到你很多
如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....
最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!
以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。