如何在不使用xpath的情况下访问嵌套元素
这就是我在Selenium WebDriver(Ruby)中编写它的方法
@browser.find_element(:class, 'mapLock').find_element(:class => 'mapLockOverlay').click
Run Code Online (Sandbox Code Playgroud)
但是我如何在JAVA中编写它我尝试过:
browser.findElement(By.className("mapLock").findElement(By.className("mapLockDisplay").click
Run Code Online (Sandbox Code Playgroud)
我知道这显然是错的
我对Selenium WebDriver和JUnit相当新,我正在测试一个Web应用程序,并且想知道我在Junit中的类设计是否正确用于测试UI?
正如我所见,人们使用构图的地方.
任何建议将不胜感激
Java类
public class OverviewPage {
private WebDriver driver;
private String URL = "http://www.google.com";
public String searchQuery = "BBC";
OverviewPage(WebDriver driver){
this.driver = driver;
driver.get(URL);
if(!"Login".equals(driver.getTitle())){
throw new IllegalStateException("Wrong site");
}
}
By searchBox = By.id("siteSearchField");
By submitSearch = By.cssSelector("button.btn.searchIco");
public OverviewPage searchBox(String findADealer){
driver.findElement(searchBox).sendKeys(findADealer);
return this;
}
public OverviewPage searchBoxDisplayed(){
driver.findElement(searchBox);
return this;
}
public FindADealerPage searchResults(){
driver.findElement(searchBox).sendKeys(searchQuery);
driver.findElement(submitSearch).click();
String search = driver.getPageSource();
boolean searchResults = search.contains(searchQuery);
return new FindADealerPage(driver);
}
Run Code Online (Sandbox Code Playgroud)
}
Junit的
public class OverviewPageTest …Run Code Online (Sandbox Code Playgroud) 我有一个模块,我已经包含在我的主要课程中:
module GenericPage
def check_url=(page)
puts(page)
end
end
Run Code Online (Sandbox Code Playgroud)
我创建了一个我的类的新实例,我在Cucumber中调用它
require_relative '../../../support/helper_methods'
class FindYourDealerPage
include GenericPage
def initialize(browser)
@browser = browser
end
def search_location=(location)
@browser.text_field(:id, 'findDealerSearchField').set(location)
@browser.send_keys :tab, :enter
end
Run Code Online (Sandbox Code Playgroud)
黄瓜:
Given /^I am on the find your dealer page$/ do
@browser.goto 'www.google.com'
@dealer.check_url('www.google.com')
@dealer = FindYourDealerPage.new(@browser)
end
When /^I select a desired preference$/ do
end
Then /^my filtered selection should be submitted$/ do
end
Run Code Online (Sandbox Code Playgroud)
当这个运行时,我得到一个错误NoMethodError: undefined methodcheck_url'为nil:NilClass`我在哪里出错了,忘记方法中的内容我想知道为什么我收到这个错误
我正在尝试获取 cookie 值,但不断收到错误 <Selenium::WebDriver::Driver:0x13a0e0e8 browser=:firefox>
我在打电话
@browser.cookie_named("configsession").each do |cookie|
puts cookie[:name]
Run Code Online (Sandbox Code Playgroud)
有什么我做错了吗?