天天看點

selenium+pthon----Grid2分布式執行測試腳本

原文出處:https://blog.csdn.net/real_tino/article/details/53467406

按步驟操作:

1.下載下傳selenium server,本人用的selenium版本是3.141.0(可以在cmd視窗用指令查詢:pip show selenium),是以下載下傳對應selenium-server-standalone-3.141.0.jar

2.grid配置檔案,該檔案負責提供主機和浏覽器資訊

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

3.下載下傳完成後進入相應的目錄中打開cmd,輸入java -jar selenium-server-standalone-3.141.0.jar -role hub,這是萬惡之源,先啟它才能幹後面的事。啟動之後再打開一個cmd,輸入java -jar selenium-server-standalone-3.141.0.jar -role node -port 5555,這是啟動第一個node,指定端口5555,與grid配置檔案中所寫的端口一緻。

4.測試腳本# 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()
5.在浏覽器中打開:http://127.0.0.1:4444/grid/console,顯示好下圖所示就說明啟動成功

      

6.執行測試腳本檢視是否能啟動配置的兩個浏覽器

  我配置了firefox和chrome兩個浏覽器,firefox能正常啟動,但chrome啟動報異常,還沒有找到解決辦法

title比對

Traceback (most recent call last):

File "F:/HQL/源碼學習/selenium Gird2/testcase.py", line 15, in <module>

'javascriptEnabled':True

File "E:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__

self.start_session(capabilities, browser_profile)

File "E:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session

response = self.execute(Command.NEW_SESSION, parameters)

File "E:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute

self.error_handler.check_response(response)

File "E:\python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response

raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.SessionNotCreatedException: Message: Unable to create new service: ChromeDriverService

Build info: version: '3.141.0', revision: '2ecb7d9a', time: '2018-10-31T20:22:52'

System info: host: 'USER-20150818GG', ip: '172.16.13.49', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_91'

Driver info: driver.version: unknown

Stacktrace:

轉載于:https://www.cnblogs.com/shanliguniang/p/10824213.html