zoukankan      html  css  js  c++  java
  • Selenium2+python自动化-gird分布式(转载)

    本篇转自博客:上海-小T

    原文地址:http://blog.csdn.net/real_tino/article/details/53467406

    Selenium grid是用来分布式执行测试用例脚本的工具,比如测试人员经常要测试多浏览器的兼容性,那就可以用到grid了。下面就来介绍如何在多个浏览器上运行同一份脚本。

    使用grid所需要的文件:1.Selenium server(即selenium-server-standalone-x.xx.x.jar);2.grid配置文件(该文件负责提供主机和浏览器信息);3.测试脚本。

    1.先来看看grid配置文件的内容:

    def grid():
        d={'http://127.0.0.1:4444/wd/hub' : 'firefox',
            'http://127.0.0.1:5555/wd/hub' : 'internet explorer',
            }
        return d

    该文件定义了一个方法,该方法存放了一个字典,分别给本机分配了2个不同的端口并指定了不同的浏览器(4444是grid hub的默认端口,5555这个是一个node的端口,后续会介绍)。

    2.再来看看测试脚本:

    # encoding:utf-8
     
    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    import time, os.path
    import grid_module
     
    for host, browser in grid_module.grid().items():
        driver = webdriver.Remote(
            command_executor=host,
            desired_capabilities={
                'platform': 'ANY',
                'browserName': browser,
                'version': '',
                'javascriptEnabled': True
            }
        )
        driver.get("http://www.baidu.com")
        driver.find_element_by_id("kw").send_keys(u"中国")
        driver.find_element_by_id("su").click()
        time.sleep(3)
        if driver.title == u"中国_百度搜索":
            print("title匹配!")
        else:
            print("title不匹配!")
        driver.close()
    
    

    该脚本是写了一个百度搜索关键词并做了简单断言的脚本,导入的grid_module就是第一步中的grid配置文件,循环体中写的是从字典中取出主机名和浏览器名赋给下面的参数,这样的话该测试脚本就会接连调用本地的2个指定浏览器并运行。

    3.然后就启server了,从http://selenium-release.storage.googleapis.com/index.html上下载对应版本的Selenium server: 

     

    下载下来后打开cmd,输入Java -jar selenium-server-standalone-x.xx.x.jar -role hub,这是万恶之源,先启它才能干后面的事。启动之后再打开一个cmd,输入java -jar selenium-server-standalone-x.xx.x.jar -role node -port 5555,这是启动第一个node,指定端口5555,与grid配置文件中所写的端口一致。

    hub和node启动好之后我们在浏览器里输入http://127.0.0.1:4444/grid/console,打开grid的控制台: 

    我们能看到有一个端口为5555的node已经启动起来了,此处的IP就是本机IP。

    4.最后我们运行测试脚本,2个浏览器乖乖地启起来了呢~

  • 相关阅读:
    Oracle 10gR2 Dataguard搭建(非duplicate方式)
    Linux scp 设置nohup后台运行
    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
    eclipse debug模式下总是自动跳到ThreadPoolExecutor.java类
    eclipse maven build、maven clean、maven install和maven test的区别 精析
    燕麦工作室第一卷:火力地堡高清下载
    java 泛型 精析
    任志强商学课:用企业家的思维理解商业 下载
    NodeJs编写小爬虫
  • 原文地址:https://www.cnblogs.com/caoj/p/7805440.html
Copyright © 2011-2022 走看看