我应该如何最好地与一个this<;李>;来自SeleniumJavaWebDriver
我正在尝试与Nike shoe在线商店互动,登录,然后从列表中选择鞋码,然后按Selenium的Java WebDriver中的“添加到购物车”按钮: 首先,我似乎找不到正确的我应该如何最好地与一个this<;李>;来自SeleniumJavaWebDriver,java,selenium,selenium-webdriver,selenium-ide,Java,Selenium,Selenium Webdriver,Selenium Ide,我正在尝试与Nike shoe在线商店互动,登录,然后从列表中选择鞋码,然后按Selenium的Java WebDriver中的“添加到购物车”按钮: 首先,我似乎找不到正确的元素并选择了它,我需要一些关于如何操作的建议 我发现我的代码不适用于选择鞋码:pastebin.com/6K1RpPKL(在第一次响应时由善良的用户指导)。首先,如果您想要更健壮的测试编写(如flash),您应该远离IDE。对于您的登录问题,这很简单 使用您的测试将如下所示: @Config(url="http
元素并选择了它,我需要一些关于如何操作的建议
我发现我的代码不适用于选择鞋码:pastebin.com/6K1RpPKL(在第一次响应时由善良的用户指导)。首先,如果您想要更健壮的测试编写(如flash),您应该远离IDE。对于您的登录问题,这很简单 使用您的测试将如下所示:
@Config(url="http://store.nike.com/us/en_us/pd/air-max-2014-running-shoe/pid-830258/pgid-774364")
public class NikeTest extends AutomationTest {
@Test
public void testNike() {
click (By.cssSelector("div.login.nav-section > a"))
.setText(By.cssSelector("form[name='login-form] input[name='email']"), "<My Username>")
.setText(By.cssSelector("form[name='login-form] input[name='password']"), "<My Password>")
.click (By.cssSelector("form[name='login-form] button.exp-login-submit")
// now we're logged in.
// let's select a size of shoe.
.click (By.cssSelector("div.exp-pdp-size-and-quantity-container > a.exp-pdp-size-dropdown") // now it's expanded.
.selectOptionByText(By.cssSelector("select[name='skuAndSize']"), "10.5") // you can replace 10.5 with whatever option you need.
}
}
@Config(url=”http://store.nike.com/us/en_us/pd/air-max-2014-running-shoe/pid-830258/pgid-774364")
公共级NikeTest扩展了AutomationTest{
@试验
公共无效测试{
单击(By.cssSelector(“div.login.nav-section>a”))
.setText(由.cssSelector(“form[name='login-form]input[name='email']”)编写)
.setText(由.cssSelector(“form[name='login-form]input[name='password']”)指定)
。单击(由.cssSelector(“form[name='login-form]按钮.exp login submit”)
//现在我们登录了。
//让我们选择一个鞋码。
。单击(通过.cssSelector(“div.exp-pdp-size-and-quantity-container>a.exp-pdp-size-dropdown”)//现在它已展开。
.selectOptionByText(By.cssSelector(“select[name='skuAndSize']),“10.5”)//您可以用所需的任何选项替换10.5。
}
}
这些是一些你可以使用的CSS选择器。另外,就你的Flash而言,我认为你运气不好,伙计。我还没有听说过任何非常成功的自动化Flash的解决方案
这里有一个关键点:
确保您知道哪个元素正在接收点击。Selenium IDE在确定哪个元素正在接收点击方面做得不好。我猜它是在尝试
或时,而实际上是
使下拉列表下降。li中的元素类型不是select。请使用改为使用下面的代码,它可以正常工作
WebElement shoeSizes = driver.findElement(By.xpath("//div[contains(@class,'exp-pdp-size-container')]/a"));
shoeSizes.click(); // Expanded
String shoeSize = "8.5";
WebElement shoeSizeSel = driver.findElement(By.xpath("//li[text()='"+shoeSize+"']"));
shoeSizeSel.click(); // Size selected
driver.findElement(By.xpath("//div[@class='exp-pdp-save-container']/button")).click(); // Added to cart
就建议而言,在提出此类问题之前,您应该首先学习识别元素、使用定位器等基础知识。浏览以下内容:,。网络上提供了许多此类资源。您是一个非常有用的用户!对于我前面提到的鞋码,如何。我知道IDE是一种不好的方法,但它提供了当我不熟悉API时,这是我的一个起点。对!我将添加到我的帖子中。此外,我链接的selenium入门框架对新用户非常有帮助。如果你阅读该repo中的自述,你就会明白为什么!我发现我的代码不适用于选择鞋码: