具體實(shí)現(xiàn)中出現(xiàn)的問(wèn)題:
將錄制的腳本轉(zhuǎn)成PHPUNIT在服務(wù)器端運(yùn)行總失敗。
開(kāi)始要作如下工作:
1.在setUp()函數(shù)中添加語(yǔ)句:每次腳本運(yùn)行,都將清空數(shù)據(jù)庫(kù)的語(yǔ)句
`/home/www/selenium-php/yuezhan/rebuilddb.sh`;注意:用倒斜杠,數(shù)字1左邊的鍵
//根據(jù)項(xiàng)目需要而修改;
2. 將默認(rèn)的瀏覽器代碼修改:
將$this->setBrowser("*chrome");
改成$this->setBrowser("*firefox");
可以不用修改代碼的方法:
Selenium工具àOptionsàOptionsà選擇Formats選項(xiàng)卡à
選擇PHP-PHPUNITà將Environment里的瀏覽器改成firefox即可,
這樣子錄制的腳本轉(zhuǎn)化成PHP后,也不用修改此部分代碼了。
3.在第2點(diǎn)的基礎(chǔ)上,在上面添加兩句代碼:
$this->setHost("192.168.8.24");
$this->setPort(4445); //此句可以不加,根據(jù)自己服務(wù)器端口而定
4.錄制的腳本中如有上傳圖片的路徑。
也要根據(jù)服務(wù)器所在的環(huán)境作修改。如在同一環(huán)境下可不作修改。不在同一環(huán)境下,要將圖片路徑修改成服務(wù)器環(huán)境中圖片所在的路徑下。
5.錄制的腳本一定要從登錄開(kāi)始錄制。在沒(méi)有解決COOIKE之前,必須這么做。
運(yùn)行腳本時(shí),
常見(jiàn)問(wèn)題1:報(bào)錯(cuò):ERROR: There was an unexpected Alert! [ajax錯(cuò)誤].
錯(cuò)誤原因:AJAX錯(cuò)誤,沒(méi)有找到ALERT提示的框架,因而報(bào)異常錯(cuò)誤
解決方法一:$this->click("css=input[type=submit]");這是一個(gè)“下一步”按鈕。
進(jìn)入的頁(yè)面中,有AJAX。
可以此句前面添加:setSpeed(1000)讓其執(zhí)行速度變慢1秒。
具體php代碼:
$this->setSpeed("1000") //從下一句開(kāi)始,執(zhí)行速度放慢
$this->click("css=input[type=submit]");
$this->waitForPageToLoad("30000");
$this->type("name=player[player1][name]", "元一");
$this->setSpeed("0") //恢復(fù)到正常執(zhí)行速度