2017-01-10 10 views
1

domImageセレン3 angularjsは、私は、我々がテストしているagularjsアプリケーションを持っているものセレンで2.53

を働いて選択することはできません。セレン2.53を使用する場合、以下のコードが機能しました。セレン3に切り替わったとき。このコードはもう機能しませんでした。私は別のselectby項目値、visibletextを使ってみましたが、成功しませんでした。それから私はセレンレコーダーを使って何が役に立つのかを見てみました。私はそれがまた、以下

//Dropdown Single Select 
public static WebElement networkCreateTypeDropDown(WebDriver driver) { 
    element = driver.findElement(_networkCreateNetworkType); 
    log.info("Network Profiles Network Type drop-down element found"); 
    return element; 
} 

public static void selectNetworkCreateTypeDropDown(WebDriver driver, int networkType) throws InterruptedException { 
    element = networkCreateTypeDropDown(driver); 
    Select drop = new Select(element); 
    drop.selectByIndex(networkType); 


driver.findElement(By.cssSelector("option[value=\"string:Wifi\"]")).click(); 
    log.info("Network Profiles Network Type drop-down value added" + networkType); 
} 

はあなたのレビューのためのDOMからのコードは成功せず、私の既存のコードで動作するためにどの以下の変更をレコーダーで作成して作られたみました。どんな助けにも大いに感謝します。

<select id="sel_networktype" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" value="" ng-selected="true" ng-options="n for n in networkTypes" ng-required="true" name="networkType" ng-model="networkprofile.networkType" selected="selected" required="required"> 
<option value="?" selected="selected"/> 

<option label="None" value="string:None">None</option> 

<option label="Wifi" value="string:Wifi">Wifi</option> 

<option label="Cellular" value="string:Cellular">Cellular</option> 

</select> 

これは私が言及したセレンレコーダーコードです。

+0

私はこれがStackOverflowの最初の質問であることを歓迎します。他の人の助けとなるように、タイトルだけでなく、質問をより明確に記述してください。 –

+0

私はテスト中のagularjsアプリケーションを持っています。セレン2.53を使用する場合、以下のコードが機能しました。 セレン3に切り替えたとき。このコードはもう機能しませんでした。私は別のselectby項目値、visibletextを使ってみましたが、成功しませんでした。 次に、セレニウムレコーダーを使って、何が役に立つかを調べました。これは役に立つかもしれません。私はレコーダーで作成された下のものを試し、既存のコードで正常に動作するように変更しました。 –

+0

これは、私が言及したセレンレコーダーコードです。 @Test public void testDropDownJavaTestNG3()例外をスローする{ driver.get(baseUrl + "/sx200/angapp/ang.xhtml#/networkprofile"); driver.findElement(By.id( "btn_create"))。click(); driver.findElement(By.id( "networkprofileName"))。clear(); driver.findElement(By.id( "networkprofileName"))。sendKeys( "TotalTrax"); 新しいSelect(driver.findElement(By.id( "sel_networktype"))))selectByVisibleText( "Wifi"); driver.findElement(By.cssSelector( "option [value = \" string:Wifi \ "]"))。 } –

答えて

1

この問題は、FireFoxの最新バージョンに更新することで修正できました。現時点では50.1.0です。 Selenium 3.0の最初のリリースで、私はその時点で最新のリリースにアップグレードしました。しかし、新しいリリースが利用可能になりました。 FireFoxの最新のリリースが問題を引き起こしていた。

関連する問題