尝试使用Java和Selenium WebDriver来自动化我们的内部Web应用程序。
在其中的一个页面上,应用程序使用jquery ui选项卡和HTML相同,如下所示。
<div id="tabs" class="addressSelectionTabs ui-tabs ui-widget ui-widget-content ui-corner-all">
<div id="verticalTabs" style="">
<ul class="addressSelectionUl ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top">
<a href="#Telephony">Landline 1</a>
</li>
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active">
<a href="#TelephonyFeatures">Landline 2</a>
</li>
<li class="ui-state-default ui-corner-top">
<a href="#Other">Others</a>
</li>
</ul>
</div>
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.linkText("Landline 1")).click();
List<WebElement> ll1 = driver.findElements(By
.xpath("//img[contains(@src,'/cmc/images/treeview/folder-closed.gif')]"));
for (int i = 0; i < llf1.size(); i++)
{
llf1.get(i).click();
}
driver.findElement(By.linkText("Landline 2")).click();
List<WebElement> ll2 = driver.findElements(By
.xpath("//img[contains(@src,'/cmc/images/treeview/folder-closed.gif')]"));
for (int i = 0; i < llf1.size(); i++)
{
llf1.get(i).click();
}
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.linkText("Others")).click();
List<WebElement> discount = driver.findElements(By
.xpath("//img[contains(@src,'/cmc/images/treeview/folder-closed.gif')]"));
for (int i = 0; i < discount.size(); i++)
{
discount.get(i).click();
}
我知道这是一篇老文章,但您考虑过使用XPath吗?我正在进行一组类似的测试,并且在选项卡之间切换和单击不同选项卡上的元素没有任何问题。显然,在单击选项卡而使该选项卡变为活动状态之前,您无法单击该选项卡上的元素。
所以您可以尝试在选项卡之间切换:
driver.findElement(By.Xpath("//a[@href='#Telephony']")).Click();
driver.findElement(By.Xpath("//a[@href='#TelephonyFeatures']")).Click();
此外,使用XPath,您可以在Firefox中使用Firebug/Firepath来检查Xpaths是否工作。
[FindsBy(How = How.Xpath, Using = "//a[@href='#Telephony']"] private IWebElement TelephonyTab;
public IWebElement ClickTelephonyTab()
{
TelephonyTab.Click();
return TelephonyTab;
}
因此,要在测试中切换选项卡,只需执行以下操作:
YourPage.ClickTelephonyTab();
我们有几个域对象具有可为空的字段。我们已经读到hibernate需要“raw”对象来正确映射它,所以我们的getter返回optionals。我们的域对象如下所示: 但现在我们在解决/绑定这些字段时遇到了问题。jspx文件。(显示和表单输入字段。)对于基本类型和字符串,我们可以通过定义自定义OptionalToStringConverter绕过这一点。 对其他域对象的可空引用仍然是一个问题。 我们
问题内容: 我的网站上有一个选择控件。我正在使用页面对象与页面进行交互。如果我这样做(在我的课程下的前两行和我的方法中) 它以空指针失败。我也尝试了没有。 现在,如果我在我的方法中执行此操作,则一切正常,然后选择正确的项目 这是该控件的实际网页摘要(已编辑以保护无辜者) 让我说我可以解决我的问题, 但是 我不明白为什么“ 正常 ”路径无法正常工作。 问题答案: 那是因为该类具有以下构造函数: 见J
首先,我阅读了“如何使用Spring MVC处理HTTP选项?”但答案似乎并不直接适用于Spring Boot。 看起来我应该这么做: 通过将dispatcherServlet的设置为 但是,考虑到我的代码中没有XML配置,也没有任何种类的初始化器类(在这个答案中提到),如何做到这一点呢? 在一个类中,我有一个这样的方法,它目前没有被调用。 Spring靴1.2.7。释放一个简单的设置与Sprin
我将html写成 现在我希望如果选项是1,那么它应该被选择为 请帮帮我!!!
问题内容: 我试图在项目中使用Java 8,为此我添加了jack编译器。 启用jack后,我开始对使用注释处理的库产生问题,并在网上查看,我读到我需要android studio 2.2和com.android.tools.build:gradle:2.2.0-alpha6来编译从注释生成代码的库。 我下载了Android Studio 2.2预览版6,然后将项目转换为它。之后,我发现不再支持ap
我正在创建一个android应用程序的学校目录,并希望打开他们的详细信息在新的页面上点击它从列表视图。我该怎么处理?