Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
页面事务作为组织测试自动化的新方式_创想鸟

页面事务作为组织测试自动化的新方式

页面事务作为组织测试自动化的新方式

照片提供:mateus campos felipe

猩红鹮(Guará)

猩红鹮,学名 Eudocimus ruber,属于鹮科鸟类,栖息于热带南美洲和加勒比海地区。其外形与其他27种鹮类相似,但鲜艳的猩红色羽毛使其独具特色。它是特立尼达和多巴哥的国鸟之一,其图皮-瓜拉尼语名称“Guará”也是巴西沿海一些城市名称的一部分。

Guará:一种简化测试自动化的Python设计模式

Guará是页面交易模式的Python实现,旨在简化测试自动化过程。它并非一个自动化工具,而是一种编程模式,可与Selenium及其他自动化驱动程序(包括Linux、Windows和移动端)兼容。其核心思想是将用户在应用程序中的交互(例如登录、注销或提交表单)定义为“交易”,从而提高测试代码的可读性、可维护性和灵活性。Guará避免与特定自动化工具绑定,赋予测试人员更大的选择自由。无需安装新的插件或学习新的知识,即可与Appium、Playwright、Robot Framework、Puppeteer等工具配合使用。

Guará利用命令模式(GoF)将用户交互分组到交易中。它关注用户旅程,而非UI元素本身,通过抽象复杂性使测试语句更易于理解,类似于自然语言。测试人员可以灵活地扩展自定义断言,弥补框架本身的不足。

Guará框架示例:网页语言切换

以下代码片段模拟了网页中的语言切换:

from selenium import webdriverfrom guara.transaction import applicationfrom guara import it, setupimport homedef test_language_switch():    app = application(webdriver.chrome())    # 打开应用程序    app.at(setup.openapp, url="https://example.com/")    # 切换语言并断言    app.at(home.changetoportuguese).asserts(it.isequalto, "conteúdo em português")    app.at(home.changetoenglish).asserts(it.isequalto, "content in english")    # 关闭应用程序    app.at(setup.closeapp)

每个用户交易都定义为一个单独的类(例如,changetoportuguese),继承自abstracttransaction。测试人员只需重写do方法,框架即可完成其余工作。

from guara.transaction import abstracttransactionclass changetoportuguese(abstracttransaction):    def do(self, **kwargs):        self._driver.find_element(by.css_selector, ".btn-pt").click()        return self._driver.find_element(by.css_selector, ".content").text

测试运行后,日志中会显示交易和断言信息:

test_demo.py::test_language_switch 2025-01-24 21:07:10 INFO Transaction: setup.OpenApp2025-01-24 21:07:10 INFO  url: https://example.com/2025-01-24 21:07:14 INFO Transaction: home.ChangeToPortuguese2025-01-24 21:07:14 INFO Assertion: IsEqualTo2025-01-24 21:07:14 INFO  Actual Data: Conteúdo em Português2025-01-24 21:07:14 INFO  Expected: Conteúdo em Português2025-01-24 21:07:14 INFO Transaction: home.ChangeToEnglish2025-01-24 21:07:14 INFO Assertion: IsEqualTo2025-01-24 21:07:14 INFO  Actual Data: Content in English2025-01-24 21:07:14 INFO  Expected: Content in English2025-01-24 21:07:14 INFO Transaction: setup.CloseApp

测试人员可以使用pytest等工具进行测试,并利用其fixture功能进行设置和拆卸。

Guará的优势

每个类代表一个完整的用户交易,提高了代码的可重用性。代码使用类似自然语言的表达方式,方便非技术人员理解和参与。测试人员可以创建和共享自定义断言。Guará可以与各种自动化工具集成,支持REST API、单元测试、桌面和移动端测试自动化。由于采用了命令模式,Guará甚至可以应用于产品开发。

Guará的使用

Guará的安装非常简单:

pip install guara

使用abstracttransaction类,以及runner的at和asserts方法。 使用pytest和详细日志进行测试执行:

python -m pytest -o log_cli=1 -log-cli -level=info

更多示例请参考教程。

总结

Guará为测试人员提供了一种新的代码组织方式,使其易于阅读、维护和与各种自动化驱动程序集成。它促进了测试人员与非技术人员之间的协作,并允许测试人员扩展和共享自定义断言。 现在就尝试Guará吧!

以上就是页面事务作为组织测试自动化的新方式的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1355800.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Day Recartory -TS + Python +重新申请和类型
上一篇 2025年12月13日 19:27:06
NLP在网络安全中的作用:预测密码强度
下一篇 2025年12月13日 19:27:28

相关推荐

发表回复

登录后才能评论
关注微信