美文网首页selenium seldom框架
seldom学习(二):seldom 常用使用设置

seldom学习(二):seldom 常用使用设置

作者: 一如既往而已 | 来源:发表于2020-05-13 16:55 被阅读0次

    一、驱动

    浏览器与驱动

    我们运行的自动化测试不可能只在一个浏览器下运行,我们分别需要在chrome、firefox浏览器下运行,有时候甚至需要无界面模式。

    在seldom中需要只需要修改一个配置即可。

    import seldom
    
    if __name__ == '__main__':
        seldom.main(browser="chrome") # chrome浏览器,默认值
        seldom.main(browser="firefox") # firefox浏览器
        seldom.main(browser="ie")  # IE浏览器
        seldom.main(browser="opera") # opera浏览器
        seldom.main(browser="edge") # edge浏览器
        seldom.main(browser="safari") # safari浏览器
        seldom.main(browser="chrome_headless") # chrome浏览器headless模式
        seldom.main(browser="firefox_headless") # Firefox浏览器headless模式
    
    

    main()方法中通过browser参数设置不同的浏览器,默认为Chrome浏览器。

    • 安装浏览器驱动

    虽然说安装浏览及驱动是做Web UI 自动化的前提,但是,浏览器驱动的下载安装和设置总是难倒了一部分新手。

    seldom 提供了下载浏览器驱动的命令。

    下载Chrome浏览器驱动:

    seldom -install chrome
    

    注:众所周知的原因,chromedriver使用的taobao的镜像。

    下载Firefox浏览器驱动:

    seldom -install firefox
    

    默认下载到当前的lib/ 目录下面,将lib/ 目录添加环境变量path

    如果你连添加环境变量path都不会,没关系!你可以在seldom中指定浏览器驱动文件目录的绝对路径。

    import seldom
    
    # ……
    if __name__ == '__main__':
        seldom.main(path="test_sample.py",
                    browser="chrome",
                    driver_path="D:\git\seldom\lib\chromedriver.exe")
    
    

    注:浏览器要browser与驱动driver_path 要保持对应关系。

    二、seldom 运行

    seldom的给运行新手造成了困扰,强烈不建议你在pycharm里面运行。因为许多新手根本搞不明白 pycharm 的运行配置,引起的运行错误也不知道怎么解决。
    Window建议使用cmd, mac/linux使用自带终端。

    运行说明

    参考目录结构如下:

    mypro/
    ├── test_dir/
    │   ├── test_sample.py
    ├── reports/
    └── run.py
    

    seldom要运行的测试是由main()方法决定的,创建 run.py 文件

    import seldom
    seldom.main(path="./")
    

    在cmder/终端下面运行 run.py 文件

    > python run.py
    

    或者:

    > seldom -r run.py
    

    要运行的用例由 path 参数控制

    • "./" : 表示run.py文件所在目录下的所有以test开头的测试文件。

    • "./test_dir/" : 指定test_dir/目录下所有以test开头的测试文件。

    • "./test_dir/test_sample.py" : 指定test_dir/目录下的test_samplepy测试文件.

    • "test_sample.py" : 指定当前目录下的test_sample.py测试文件。

    三、main() 方法

    main()方法是seldom运行测试的入口, 很多重要的配置都是通过这个方法完成。

    import seldom
    
    # ...
    
    if __name__ == '__main__':
    
        seldom.main(path="./",
                  browser="chrome",
                  report=None,
                  title="百度测试用例",
                  description="测试环境:chrome",
                  debug=False,
                  rerun=0,
                  save_last_run=False,
                  driver_path=None,
                  grid_url=None,
                  timeout=None
        )
    

    说明:

    • path : 指定测试目录或文件。
    • browser : 指定测试浏览器,默认Chrome
    • report : 自定义测试报告的名称,默认格式为2020_04_04_11_55_20_result.html
    • title : 指定测试报告标题。
    • description : 指定测试报告描述。
    • debug : debug模式,设置为True不生成测试HTML测试,默认为False
    • rerun : 设置失败重新运行次数,默认为 0
    • save_last_run : 设置只保存最后一次的结果,默认为False
    • driver_path : 设置浏览器驱动的绝对路径。要和 browser 设置保持一致。
    • grid_url : 设置远程节点,selenium Grid doc
    • timeout : 设置超时时间,默认10秒

    四、seldom 生成测试报告

    seldom 默认生成测试报告,在你运行测试用例所再目录下面。

    例如,你的目录是这样的:

    mypro/
    └── test_sample.py
    

    测试文件 test_sample.py 内容如下:

    import seldom
    
    
    class YouTest(seldom.TestCase):
    
        def test_case(self):
            """a simple test case """
            self.open("https://www.baidu.com")
            self.type(id_="kw", text="seldom")
            self.click(css="#su")
            self.assertTitle("seldom_百度搜索")
    
    
    if __name__ == '__main__':
        seldom.main("test_sample.py")
    

    执行命令:

    seldom -r test_sampe.py
    

    最终运行完成的目录结构如下:

    mypro/
    ├── reports/
    │   ├── 2020_01_01_11_20_33_result.html
    └── test_sample.py
    

    通过浏览器打开 2020_01_01_11_20_33_result.html 测试报告,查看测试结果。

    打开debug

    我们并不是所有时候运行测试用例都希望生成HTML测试报告,那么就可以打开debug模式。

    ...
    
    if __name__ == '__main__':
        seldom.main("test_sample.py", debug=True)
    

    这样就不会生成HTML测试报告了。

    定义测试报告的名称

    有时候我们需要在测试报告中加上自动化项目的一些信息,那么就可以通过 titledescription 设置。

    ...
    
    if __name__ == '__main__':
        seldom.main(path="test_sample.py",
                    title="百度测试用例",
                    description="测试环境:windows 10/ chrome")
    
    image.png

    相关文章

      网友评论

        本文标题:seldom学习(二):seldom 常用使用设置

        本文链接:https://www.haomeiwen.com/subject/rixonhtx.html