2015-12-28 20 views
0

我有一個要求擊中服務器x的網址,點擊提交按鈕並跳轉到服務器y的同一網址,然後單擊同一個提交按鈕,這必須重複26我需要在26臺服務器上進行更換。使用硒ide訪問不同的服務器(網址)

所有這一切,我必須做硒。我設法爲1臺服務器做到這一點,但只是想知道是否有一個聰明的方式來做26臺服務器,而不是記錄26次。

我使用硒2.9.0 IDE插件與Firefox瀏覽器

<?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head profile="http://selenium-ide.openqa.org/profiles/test-case"> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <link rel="selenium.base" href="http://server-x:9173/" /> 
    <title>New Test</title> 
    </head> 
    <body> 
    <table cellpadding="1" cellspacing="1" border="1"> 
    <thead> 
    <tr><td rowspan="1" colspan="3">New Test</td></tr> 
    </thead><tbody> 
    <tr> 
    <td>open</td> 
    <td>website/delivery/DeliveryMethodsRepository/</td> 
    <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>link=DeliveryMethodsRepository/</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>link=invalidateCaches</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>name=submit</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>link=DeliveryMethodsRepository/</td> 
     <td></td> 
    </tr> 
    </tbody></table> 
    <table cellpadding="1" cellspacing="1" border="1"> 
    <thead> 
    <tr><td rowspan="1" colspan="3">New Test</td></tr> 
    </thead><tbody> 
    <tr> 
     <td>open</td> 
     <td>inventory/InventoryRepository/</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>link=InventoryRepository/</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>link=invalidateCaches</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>name=submit</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td>clickAndWait</td> 
     <td>link=InventoryRepository/</td> 
     <td></td> 
    </tr> 
    </tbody></table> 
    </body> 
    </html> 

回答

1

您可以將基本網址保留爲「http://」。然後,您需要對所有服務器URL使用readCSV,對於服務器數量重複使用while循環。

欲瞭解更多信息請參考[http://bashamy.blogspot.co.uk/2016/01/selenium-ide-to-use-while-loop-and-read.html]

編輯URL:http://bashamy.blogspot.com/2016/01/selenium-ide-to-use-while-loop-and-read.html

例如:HTML代碼如下打開5周不同的網址從我的CSV輸入文件。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head profile="http://selenium-ide.openqa.org/profiles/test-case"> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<link rel="selenium.base" href="http://onlineconversion.com/" /> 
<title>06 ReadCsv_n_Loop</title> 
</head> 
<body> 
<table cellpadding="1" cellspacing="1" border="1"> 
<thead> 
<tr><td rowspan="1" colspan="3">06 ReadCsv_n_Loop</td></tr> 
</thead><tbody> 
<tr> 
    <td>readCSV</td> 
    <td>file://C:\Users\extayx\Documents\Selenium IDE\07Input.csv</td> 
    <td></td> 
</tr> 
<tr> 
    <td>store</td> 
    <td>1</td> 
    <td>row</td> 
</tr> 
<tr> 
    <td>store</td> 
    <td>1</td> 
    <td>col</td> 
</tr> 
<tr> 
    <td>store</td> 
    <td>6</td> 
    <td>z</td> 
</tr> 
<tr> 
    <td>while</td> 
    <td>${row}&lt;${z}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>storeCellValue</td> 
    <td>ip</td> 
    <td>${row},${col}</td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>${ip}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>open</td> 
    <td>${ip}</td> 
    <td>${ip}</td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>storedVars['row'] = ${row}+1</td> 
    <td>x</td> 
</tr> 
<tr> 
    <td>endWhile</td> 
    <td></td> 
    <td></td> 
</tr> 
</tbody></table> 
</body> 
</html> 

我的輸入CSV文件包含以下信息。

www.google.co.in 
www.google.com 
www.google.co.uk 
www.news.google.co.in 
www.seleniumhq.org 
+0

非常感謝您的答案。我明天會試試這個,讓你知道。您分享的鏈接已經死亡。你能否檢查並粘貼正確的鏈接?再次感謝。 – harshavmb

+0

http://bashamy.blogspot.com/2016/01/selenium-ide-to-use-while-loop-and-read.html 請檢查網址。您需要在Selenium IDE中添加用戶擴展js –

1

你的問題很混亂,所以我可能誤會了吧。 在不太可能的情況下,我做對了,你試圖爲不同的網站做26次相同的任務。聽起來像一個循環可以做的事情。 下面是一個示例Python代碼:

urls = ['http://foo.bar', 'http://otherfoo.otherbar',...] 
for url in urls: 
    driver.get(url) 
    #your selenium code here 
+0

不知道我問題的哪一部分讓你感到困惑。我熟悉java,我可以用java編寫這個邏輯。問題是我無法將修改後的java代碼導入到selenium IDE中。瀏覽了一段時間後,我才知道,將.java或.py文件移植到selenium IDE中是不可能的,它只接受.html文件。如果您在html文件上修改了相同的內容,請傳遞給我。謝謝你的建議。 – harshavmb

+0

Whelp顯然我​​失去了閱讀技能。我完全錯過了IDE的一部分,並認爲你提到了一個框架,對不起!無論如何,你可能已經發現,但這似乎很有前途:http://www.testingdiaries.com/selenium-ide-loop/ –

1

這是我不得不做我自己,是可以通過一系列的插件叫做selite或也selblocks(雖然selite包含一個版本的插件的話)

有了這些插件,它可以讓你保存URL列表作爲外部json文件,然後循環測試用例,你只需要把'Forjson'命令調用該文件在你想要的循環的階段開始,並在'Endforjson'你想要它結束。所有文檔都在鏈接中。希望能幫助到你。