原文链接:https://blog.csdn.net/weixin_45451320/article/details/122931282
为什么学seleniumbase?
想找一款基于pytest封装的UI自动化框架,github搜到这个2.6星
简称sbase,是Web 和移动 E2E UI 测试的完整测试自动化框架,推荐理由:github2.5k的pytest+unittest+selenium的成熟框架
在核心,SeleniumBase的工作原理是将pytest扩展为直接插件,SeleniumBase会自动启动Web浏览器进行测试(使用SeleniumWebDriver),
然后通过 BaseCase 类 向这些测试提供对 SeleniumBase 库的访问权限。测试还可以访问 SeleniumBase 命令行参数和 SeleniumBase 方法,它们提供了额外的功能。
我们主要是用已经封装好的 seleniumbase的方法、命令行参数,简化了代码,非常方便,主要用于迭代开发中的快速回归测试、包括各浏览器兼容性测试
中文文档:https://seleniumbase.io/help_docs/chinese/
github地址:https://github.com/seleniumbase/SeleniumBase
优点
- 简化代码
- pytest配置文件
- 已自动添加隐形等待,无须再添加"time.sleep()"
命令总结
命令总结
1
常用语法格式
1、直接继承BaseCase示例:pytest test_demo_site.py
from seleniumbase import BaseCase class DemoSiteTests(BaseCase): def test_demo_site(self): self.open("https://seleniumbase.io/demo_page") # Assert the title of the current web page self.assert_title("Web Testing Page") # Assert that the element is visible on the page self.assert_element("tbody#tbodyId") # Assert that the text appears within a given element self.assert_text("Demo Page", "h1")
搭建seleniumbase 环境