我正在为一个网站编写一个小的测试脚本,作为测试的一部分,程序需要点击Buttons。我正在使用谷歌chrome驱动程序,我尝试了一些功能,例如:driver。findElement(由.cssSelector()驱动)。但是由于某种原因,程序无法识别定位器。
在图片中,我选择了一个按钮来获取其id或类(很抱歉,该网站是希伯来语的)。
主RunnerClass
package runners;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = { "src/test/java/featurefiles/" }, glue = {
"stepDefinitions" }, monochrome = true, tags = {},
plugin = { "pretty", "html:target/cucumber",
"json:target/cucumber.json",
"com.cucumber.listener.ExtentCucumberFormatter:output/report.html" })
public class MainRunner {
}
步骤定义类
package stepDefinitions;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import cucumber.api.java.After;
import cucumber.api.java.Before;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class consumeSteps {
WebDriver driver;
@Before
public void setup() throws IOException {
System.setProperty("webdriver.chrome.driver",
Paths.get(System.getProperty("user.dir")).toRealPath() +
"\\src\\test\\java\\drivers\\chromedriver.exe");
this.driver = new ChromeDriver();
this.driver.manage().window().maximize();
this.driver.manage().timeouts().pageLoadTimeout(120,
TimeUnit.SECONDS);
}
@After()
public void tearDown() {
this.driver.manage().deleteAllCookies();
this.driver.quit();
}
@Given("^I access pizzahut\\.co\\.il$")
public void i_access_pizzahut_co_il() throws Throwable {
driver.get("https://pizzahut.co.il/");
}
@When("^I click on sales section button$")
public void i_click_on_sales_section_button() throws Throwable {
driver.findElement(By.cssSelector("btn-default btn-block ng-binding ng-
isolate-scope")).click();
}
@When("^I click on add family non gluten pizza button$")
public void i_click_on_add_family_non_gluten_pizza_button() throws
Throwable {
}
@When("^I click on add button$")
public void i_click_on_add_button() throws Throwable {
// Write code here that turns the phrase above into concrete
actions
}
@When("^I click on chosen extra$")
public void i_click_on_chosen_extra() throws Throwable {
// Write code here that turns the phrase above into concrete
actions
}
@When("^I click on extra for the whole pizza$")
public void i_click_on_extra_for_the_whole_pizza() throws Throwable {
// Write code here that turns the phrase above into concrete
actions
}
@When("^I click on choose and next button$")
public void i_click_on_choose_and_next_button() throws Throwable {
// Write code here that turns the phrase above into concrete
actions
}
@When("^I click on continue for payment allert button$")
public void i_click_on_continue_for_payment_allert_button() throws
Throwable {
// Write code here that turns the phrase above into concrete
actions
}
@When("^I click on continue for payment button$")
public void i_click_on_continue_for_payment_button() throws Throwable {
// Write code here that turns the phrase above into concrete
actions
}
@Then("^I should successfully be moved to the payment form$")
public void i_should_successfully_be_moved_to_the_payment_form() throws
Throwable {
// Write code here that turns the phrase above into concrete
actions
}
}
功能文件
Feature: consume product through sales section.
Scenario: payment form will display after assembling a product.
Given I access pizzahut.co.il
When I click on sales section button
And I click on add family non gluten pizza button
And I click on add button
And I click on chosen extra
And I click on extra for the whole pizza
And I click on choose and next button
And I click on continue for payment allert button
And I click on continue for payment button
Then I should successfully be moved to the payment form
希望这能管用
//div[@class='home-page-actions_promotion-btn']//a
请尝试以下内容:
driver.findElement(By.xpath("//*[text()=\"לכל המבצעים\"]")).click();
问题内容: 问题: 无法从CSS选择器特定元素中选择。需要验证注册用户是否可以成功更改其密码。我试过了类的不同属性来调用它。当尝试前两个示例时,结果是方法中的异常错误。最后的尝试将调用第一个类实例并重置密码字段(失败)。 尝试过: 目的: 我需要选择共享同一班级的项目。如下所示,该类是共享的。 问题答案: 编辑:因为选择器需要一个,或,但是它们本身都不是。 提供要匹配的类名,并从那里指定要选择的特
我是新的Selenium C#自动化。试图在网上找到,但没有得到任何帮助。html代码看起来像这样。我需要找到元素,然后使用CSS单击它。该网站只在IE上运行。
问题内容: 我在selenium测试中有以下xpath语句: 它达到了我想要的,但是我的测试在IE6中非常缓慢。有人知道我将如何做与CSS选择器相同的选择器吗?我想我了解如何执行上述操作,但text()=“ IPODate”部分除外。 以下是我要从中选择的表格示例: ....很多很多行 …还有很多行… 在此示例中,只有一行具有IPODate单元。 问题答案: CSS定位器用于其中包含文本IPODa
问题内容: 是否有某种“非” CSS选择器? 例如,当我在CSS中编写以下行时,带有类 classname 的标记内的所有输入字段将具有红色背景。 如何选择 类 名为class的标签之外的所有输入字段? 问题答案: 使用当前的浏览器CSS支持,您将无法。 _较新的浏览器现在支持它- (有关CSS中的替代方法,请参见其他答案。) 如果可以在JavaScript / jQuery中执行此操作,则可以执
HTML格式 我没有这个的id或名称。因此我写 但click()没有发生。 已尝试driver . find element(by . CSS selector("。按钮[值=搜索]”)。单击(); 尝试值='Search '(单引号)。 这些选择器正在
我正在编写一个可重用的代码来寻找自动化测试的元素。在上面的代码中,可以通过两种方式找到元素,我可以根据或通过文本查找它;但是我在硒中找不到任何东西,我可以用我想要的方式找到元素。 我正在使用“find_element”来查找元素,但是没有任何东西可以传递或作为论据。 我尝试了-或 无论如何,我可以在webview上找到使用Selenium驱动程序和一些文本作为其论据的元素吗??