首页
学习
活动
专区
圈层
工具
发布

下拉框
EN

Stack Overflow用户
提问于 2013-08-13 15:09:58
回答 2查看 2.4K关注 0票数 0

这件事需要帮助。同时学习Java和selenium并不好,但必须做到:

我正在尝试测试一个下拉点框,其中包含:

代码语言:javascript
复制
<select name="sport" id="sport">
 <option value="1">Soccer</option>
 <option value="2">Basketball</option>
 </select>

我要执行以下操作: 1:“断言”框存在,其文本为“足球”和“篮球”。2:单击“篮球”,然后再次单击“足球”。3:在本方框下面的表格中声明更改。(我认为这样做了,但需要上面的说明)

目前为止的代码:

代码语言:javascript
复制
    Select sportDropdown = new Select(webBrowser.findElement(By.id("sport")));
    sportDropdown.selectByVisibleText("Soccer");
    assertEquals(sportDropdown, "Soccer");

收到的错误:

预期:org.openqa.selenium.support.ui.Select@278806c4 java.lang.AssertionError:足球

我不知道这个“预期”值是从哪里来的,所以任何指针都会是很棒的人。

注意,这都是用Java编写的,所以请不要在C#中提交代码帮助。让我的生活变得更艰难

谢谢J

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-13 15:42:34

您需要获得所选选项的文本才能使assert语句正常工作。目前,您正在询问WebElement对象是否等于String

代码语言:javascript
复制
Select sportDropdown = new Select(webBrowser.findElement(By.id("sport")));
sportDropdown.selectByVisibleText("Soccer");
assertEquals(sportDropdown.getFirstSelectedOption().getText(), "Soccer");
票数 2
EN

Stack Overflow用户

发布于 2013-11-19 19:12:04

对于值等于文本值的任何人,请使用get属性。对我起作用了。可能是为别人工作。

选择sportDropdown = needed (driver.findElement(By.id(“id”));sportDropdown.selectByValue(" value ");Thread.sleep(3000);//这是需要的,因为只要选择了该值,页面就会刷新。System.out.println(driver.findElement(By.id("id")).getAttribute("value"));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18212789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档