zoukankan      html  css  js  c++  java
  • selenium grid应用1-多浏览器执行用例

    driver =webdriver.Remote(
    command_executor=’http://127.0.0.1:4444/wd/hub’,

    desired_capabilities=DesiredCapabilities.CHROME)

    ’http://127.0.0.1:4444/wd/hub’可以看作一个字符串,对其进行参数化没有什么困难。
    那么 DesiredCapabilities.CHROME 里面包含了什么东西呢?

    >>> fromselenium.webdriver.common.desired_capabilitiesimport DesiredCapabilities
    >>> p=DesiredCapabilities.CHROME
    >>> printp
    {'platform': 'ANY', 'browserName': 'chrome', 'version': '', 'javascriptEnabled':True}

    我们将 DesiredCapabilities.CHROME 的内容打印输出,发现其本身是一个字典。
    'platform':'ANY' 平台默认可以是任何(window,MAC,android)。
    'browserName':'chrome' 浏览器名字是 chrome 。
    'version':'' 浏览器的版本默认为空。
    'javascriptEnabled':True javascript 启动状态为 True


    pythonwebdriverAPI 提供了不同平台及浏览器的参数:

    ANDROID = {'platform': 'ANDROID', 'browserName': 'android', 'version': '', 'javascriptEnabled': True}

    CHROME = {'platform': 'ANY', 'browserName': 'chrome', 'version': '', 'javascriptEnabled': True}

    FIREFOX = {'platform': 'ANY', 'browserName': 'firefox', 'version': '', 'javascriptEnabled': True}

    HTMLUNIT = {'platform': 'ANY', 'browserName': 'htmlunit', 'version': ''}

    HTMLUNITWITHJS = {'platform': 'ANY', 'browserName': 'htmlunit', 'version': 'firefox', 'javascriptEnabled': True}

    INTERNETEXPLORER = {'platform': 'WINDOWS', 'browserName': 'internet explorer', 'version': '', 'javascriptEnabled': True}

    IPAD = {'platform': 'MAC', 'browserName': 'iPad', 'version': '', 'javascriptEnabled': True}

    IPHONE = {'platform': 'MAC', 'browserName': 'iPhone', 'version': '', 'javascriptEnabled': True}

    SAFARI = {'platform': 'ANY', 'browserName': 'safari', 'version': '', 'javascriptEnabled': True}

    PHANTOMJS = {'platform': 'ANY', 'browserName': 'phantomjs', 'version': '', 'javascriptEnabled': True}

    OPERA = {'platform': 'ANY', 'browserName': 'opera', 'version': '', 'javascriptEnabled': True}

    我们现在要做的是对 browserName 参数进行参数化,传入不同的浏览器,使脚本在不同的浏览器下运 行。要想运行脚本之前我们需要先启动 seleniumserver:

    #coding=utf-8

    import time from selenium

    import webdriver fromselenium.webdriver.common.desired_capabilities import DesiredCapabilities

    #浏览器数组

    lists=['chrome','internet explorer']

    #通过不同的浏览器执行脚本

    for browser in lists:

      print browser

      driver = webdriver.Remote(

                           command_executor='http://127.0.0.1:5555/wd/hub',

                           desired_capabilities={'platform': 'ANY', 'browserName':browser, 'version': '', 'javascriptEnabled': True })
       driver.get("http://www.youdao.com")

       driver.find_element_by_name("q").send_keys("hello")

       driver.find_element_by_id("qb").click()

       time.sleep(2)
       driver.close()

  • 相关阅读:
    安装好php后找不到php.ini
    Nginx 和 PHP 的两种部署方式比较
    高性能Web服务之lnmp架构应用
    >/dev/null 2>&1的含义
    LC_ALL=C的含义
    深入理解PHP Opcode缓存原理
    iostat 监视I/O子系统
    sar 找出系统瓶颈的利器
    Linux常用命令汇总
    linux增加自定义path和manpath
  • 原文地址:https://www.cnblogs.com/wensiyang0916/p/5775731.html
Copyright © 2011-2022 走看看