zoukankan      html  css  js  c++  java
  • Grid Selenium

    python selenium-9 grid模式

    grid是进行分布式测试的工具,由一个hub主节点和若干个node代理节点组成

    1.下载Selenium Standalone Server

    下载地址:https://www.seleniumhq.org/download/

    2.启动hub和节点

    #hub默认端口是4444,node默认端口是5555
    java -jar selenium-server-standalone-3.141.59.jar -role hub
    #本机注册节点
    java -jar selenium-server-standalone-3.141.59.jar -role node
    #本机指定端口注册节点
    java -jar selenium-server-standalone-3.141.59.jar -role node -port 5556
    #远程机器注册节点
    java -jar selenium-server-standalone-3.141.59.jar -role node -port 5557 -hub http://192.168.63.143:4444/grid/register


    节点注册地址: http://192.168.63.143:4444/grid/register/
    hub管理地址: http://192.168.63.143:4444/grid/console

    3.查看后台http://192.168.63.143:4444/grid/console

    4.实例1:编写自动化测试脚本

    from selenium.webdriver import Remote
    driver = Remote(command_executor="http://127.0.0.1:4444/wd/hub",
                    desired_capabilities={'platform':'ANY',
                                          'browserName':'chrome',
                                          'version':'',
                                          'javascriptEnabled':True})
    driver.get("http://www.baidu.com")
    driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys("hello")
    driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
    driver.quit()

    修改脚本以在不同的浏览器上运行

    from selenium.webdriver import Remote
    from time import sleep
    lists={'http://192.168.63.143:4444/wd/hub':'chrome',
           'http://192.168.63.143:5555/wd/hub':'firefox'}
    for host,browser in lists.items():
        print(host,browser)
        driver = Remote(command_executor=host,
                        desired_capabilities={'browserName': browser,
                                              'platform': 'ANY',
                                              'version':'',
                                              'javascriptEnabled':True
                                              }
                        )
        driver.get("http://www.baidu.com")
        driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys(browser)
        driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
        sleep(3)
        result_text = driver.find_element_by_xpath("//span[@class='nums_text']").text
        assert "百度为您找到相关结果约" in result_text
        driver.quit()

    5.浏览器内核

    浏览器最重要或者最核心的部分是Rendering Engine,即渲染引擎,习惯成为渲染引擎。所谓的浏览器内核,决定了浏览器如何显示网页的内容以及页面的格式信息。
    内核介绍
    TridentIE内核 基于Mosaic代码基础上修改而来,从IE4开始开始一直沿用到IE11,是一款开放的内核,其接口内核设计成熟,国内早期浏览器都是基于该内核。如遨游,世界之窗,360安全浏览器
    Gecko火狐内核 代码完全公开,可开发程度很高
    Presto 欧朋内核 在欧朋7开始使用,自欧朋12.17已被废弃,开始采用谷歌的Blink内核。
    Webkit Safari内核 是苹果公司自己的内核。谷歌也曾采用webkit打造Chrome浏览器。国内的浏览器也采用了这一内核,如遨游3,搜狗告诉浏览器、360极速浏览器。
    Blink 谷歌和欧朋开发的浏览器排版引擎,该引擎是Webkit中WebCore组件的一个分支,并且在Chrome(28以后)、欧朋(15以后)和Yandex浏览器中使用
  • 相关阅读:
    MyBatisPlus-快速入门
    Spring Cloud Alibaba的使用
    SpringCloud-Bus组件的使用
    Python刷题:最长回文子串(字符串)
    Python刷题:求最大连续bit数(位运算)
    Python刷题:用二进制方式求集合S的所有子集(位运算)
    Python刷题:集合S(k)求|x-y|最小时的x和y(位运算)
    Python刷题:常用二进制操作(位运算)
    Stripe支付介绍在asp.net mvc中开发对接,图文加代码说明
    从今天起做个真正的程序员
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/10590205.html
Copyright © 2011-2022 走看看