selenium python grid

來源:互聯網
上載者:User

標籤:

  學習自動化一直都是在本機操作,感覺這樣能夠減少工作量確實很少。最近研究了一下分布式操作。

  開始的想法是,我在一台機器上啟動指令碼,然後讓指令碼在不同機器的不同版本的瀏覽器上進行跑指令碼。

  需要準備的東西:

    1、jdk,以及環境變數配置好。在cmd下運行javac如果沒有報錯就行。

    2、python開發環境。

    3、selenium 安裝好

    4、下載 selenium-server-standalone-2.45.0.jar的包。這個版本自己看,我用的是這個版本,主要是用46的報錯

  一切準備好了,我用的三台機器。60機器作為我跑指令碼的機器,89、162都是平台。

  第一、(我按照網上說的方法貌似有的失敗。)最後我是在60這台機器上將在命令列cmd視窗切換到我jar包所在檔案夾,然後執行命令:java -jar selenium-server-standalone-2.45.0.jar -role hub     (java -jar selenium-server-standalone-2.45.0.jar -port 4000 -role hub -nodeTimeout 600) 他預設起的是4444連接埠,這個可以自己定義的,這裡是啟動中心節點,我認為就是在哪台機器作為跑指令碼的機器。

  第二、啟動node:同樣cmd切換到jar包目錄。java -jar selenium-server-standalone-2.45.0.jar -10.2.4.60 -port 4002 -role webdriver -hub http://10.2.4.60:4000/grid/register -browser browserName=firefox,platform=WINDOWS  這個指定了執行的瀏覽器以及平台的。可以不要-browser後面的。(在啟動中心節點的時候啟動了selenium server的)

  第三部、在中心節點機器的瀏覽器中輸入http://localhost:4000/grid/console 查看連結的資訊,如果有node機器資訊那麼就正確了

  第四部、聯調,看在中心節點執行指令碼能否在node機器上運行,我一直在這裡糾結了很久都不行,直接貼案例代碼:

  

__author__ = ‘pc‘from selenium.webdriver import Remotefrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitieslist =[‘http://10.2.4.89:4002/wd/hub‘,‘http://10.2.4.162:4001/wd/hub‘]for host in list:    driver = Remote(command_executor=host,                    desired_capabilities=DesiredCapabilities.FIREFOX)    driver.get(‘http://www.baidu.com‘)    driver.find_element_by_id(‘kw‘).send_keys(‘selenium python‘)    driver.find_element_by_id(‘su‘).click()    driver.quit()

我糾結了很久才調通的,還有很多需要擴充的地方,但是覺得只要調試通了一切都好說了。

  

selenium python grid

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.