SeleniumBase

SeleniumBase

起步

安装SeleniumBase(以下简称sbase)

  • 安装PythonheGit
  • 推荐使用Python 虚拟环境

使用 PyPI或者GitHub上安装seleniumbase:

  1. 使用PyPI安装seleniumbase:

  • –upgrade / –u 升级 SeleniumBase
  • –force-reinstall 升级非直接的安装包
  • Python 3.x版本以上,使用pip3安装
  1. 使用GitHub clone 安装seleniumbase:

  2. 使用github clone中升级当前的安装:

  3. 输入seleniumbase 或者 sbase 来验证 seleniumbase是否被成功安装

    成功界面如下:

  4. 下载web驱动(webdrivers):

    sbase会自动的下载web驱动,例如chromedriver 谷歌驱动

    谷歌驱动示例:

 

基本案例/使用:

  1. 如果你已经克隆了sbase,你可以从 examples/ 文件夹里面运行测试

    示例:my_first_test.py:

    完整代码:

  1. 这里有一些常见的Sbase函数

 

有趣的事实/了解更多

  • sbase会自动地处理常见的网页驱动行为,如在测试前开启网页浏览器、在失败时保存截图、

    并且在测试结束后关闭浏览器

  • sbase允许你通过命令行选项自定义测试

  • sbase对于命令使用简单的语法,例如:

大多数的sbase脚本可以使用pytes、pynose 或者纯 python运行。

但并非所有的测试运行器可以运行所有测试格式。

举个例子,使用sb pytest固件的测试只能由pytest运行。详见语法格式

这里是一个 由behave运行的 Gherkin 测试格式 :

  • pytest包含了自动地测试发现。如果你没有指定一个特定的文件或者文件夹来运行,pytest会自动地搜寻所有测试子目录来运行,基于以下的标准:

    • test_ 开头或者以_test.py 结尾的Python文件
    • test_开头的Python方法

    使用sbase pytest.ini 文件,你可以调整默认的发现设置。Python类名可以是任何内容,因为 seleniumbase.BaseCase 继承了 unittest.TestCase 触发自动发现功能。

  • 在真正运行之前,你可以进行一个 预冲突检查 来查看哪一个测试会被 pytest发现:

  • 当对一个文件调用pytest 或者 pynose 来运行时,你可以更明确地使用:

  • 不再有古怪的测试!在网页可交互之前(却决于超时限制),sbase会自动地等待网页元素加载成功。这意味着你不再需要在你的脚本中添加随机的 time.sleep()语句。

  • sbase支持所有主流的浏览器以及操作系统

    浏览器:Chrome、Edge、Firefox 和Safari

    系统:Linux/Ubuntn、macOS 以及 windows

  • sbase 工作在所有流行的 CI/CD 平台

    • GitHub Actions
    • Jenkins
    • Azure
    • Google Cloud
    • AWS
    • Your Computer
    GitHub Actions integration
    Jenkins integration
    Azure integration
    Google Cloud integration
    AWS integration
    Your Computer

  • sbase 包括了一个自动化/手动 混合的解决方案 ,称为 MasterQA ,当手动测试者处理验证的时候,可以通过自动化来加速手动测试
  • sbase支持离线运行测试(假设之前在线的时候,网页驱动已经下载完毕)
  • sbase完整的特性,点击这里