-1

私は恐ろしい言葉を言うつもりです-私はJavaにかなり慣れていません

しかし、最も明白な場所でオンラインで私の答えを見つけることができないので、ここで質問します

私がテストしているプログラムは顧客データベースです。[国] ドロップダウン ボックスを選択すると、他のフィールドが必須になる場合があります。これらのフィールドの中には「州」があります。このフィールドは、フリー テキストまたはドロップダウン ボックスのいずれかです。

そこで、状態ドロップダウン ボックスの条件が満たされない場合に自由なテキストを入力できる if ステートメントを作成しました。

if (selenium.isElementPresent("xpath=//*[@id='state']/option[2]"))
{selenium.select("xpath=//select[@id='state']/option","index=2" );}

else    {checkfield("xpath=//td[contains(.,'State/Province:')]/
preceding-sibling::td[contains(.,'*')]", 
        "xpath=//*[@id='address.state']",
        state1);}

<td>
<!-- begin state drop down menu -->
<select id="state" name="address.state">
<option selected="selected" value="">Please Select</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="WY">Wyoming</option>
</select>
<!-- end state drop down menu -->
</td>

私の質問は非常に基本的なものかもしれませんが、私のコードがどこで失敗するかはすでにおわかりでしょう。

ドロップダウン ボックスが存在する場合はドロップダウン ボックスのオプション 2 を選択します。それ以外の場合は、フリー テキスト ボックスに宣言されている文字列を入力します。

これまで、特定のテキストを持つラベルを選択するために selenium.select しか使用していませんでした

4

2 に答える 2

2

まず、SeleniumWebDriverにアップグレードします

Selenium1.0は単なるアンデッドです。

これがWebDriverでそれを行う方法です。

if(stateDropdown.isEnabled()&&(!stateField.isEnabled())){

    Select state = new Select(stateDropdown);
    // state.selectByValue("Illinois");
    state.selectByIndex(2);


}else if(stateField.isEnabled()&&(!stateDropdown.isEnabled){
    stateField.sendKeys("Salzburg");
}

かわいくないですか?

于 2012-07-18T18:25:19.527 に答える
1

代わりにラベルを使用してみていただけますか?

selenium.select("state", "label=アラスカ")

新しい状態が追加されない限り、値がどうなるかを知っている可能性があります(ありそうにないようです)

于 2012-07-19T09:02:27.860 に答える