- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经能够成功地将@FindBy与PageFactory一起使用,但培训我的人坚持认为我仍然可以在不使用PageFactory的情况下使用@FindBy。他向我展示了他的代码,乍一看,他似乎没有使用 PageFactory。但是,如果不使用 PageFactory,我总是会收到 NullPointerException。我确实要求他查看我的代码......好吧,他似乎也不知道为什么我的代码不起作用。我希望我能得到一双新的眼睛来启发我。
这是我的代码片段
public class BaseClass {
public WebDriver driver;
private String title;
private Wait<WebDriver> wait;
public BaseClass(WebDriver driver, String title) {
this.driver = driver;
this.title = title;
wait = new FluentWait<WebDriver>(driver).withTimeout(45, TimeUnit.SECONDS).pollingEvery(2, TimeUnit.SECONDS);
}
}
//
public class Test extends BaseClass {
public Test(WebDriver driver) {
super(driver, "Login page");
}
@FindBy(name="j_password")
public WebElement password;
@FindBy(name="j_username")
public WebElement username;
public void startest() throws Exception {
username.clear();
username.sendKeys(id);
password.clear();
password.sendKeys(secret); }
}
最佳答案
不,如果不使用PageFactory就无法使用。阅读以下几行以获得正确的解释:
Page Factory 将根据定义的“定位器”,使用对实际网页上相应元素的引用来初始化每个 WebElement 变量。这是通过使用 @FindBy 注释来完成的。
注释?
在页面工厂中,注释用于为 WebElement 提供描述性名称,以提高代码可读性。注释@FindBy用于标识页面中的Web元素。
默认情况下,PageFactory 将在页面上搜索具有匹配 id 属性的元素,如果失败,则将通过 name 属性进行搜索。但是,因为我们需要更多地控制 HTML 页面中的标识元素并将它们映射到我们的页面对象字段。
以下链接有更多详细信息: http://www.seleniumeasy.com/selenium-tutorials/page-factory-pattern-in-selenium-webdriver
关于java - 在没有 PageFactory 的 Selenium 中使用 @FindBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633202/
我有一些类(class) Activity : @Data @Document(collection = "event") public class Event { private String id
我有一个带有字符串名称字段的 Book 实体。使用 Spring Data JPA 关键字时有什么区别: Optional findByName(String name); 和 Optional fi
评分细则和品牌表(Many rubric to One Brand)之间存在关系。 这是我的代码 $dbChoices = $this->getConfigurationPool()
我有以下代码: println "@@@@@@@@ RUNNING ProfessionaCustomer - ${pcCounter} under ${accountCustomer.custome
我的Grails应用程序中提供以下服务: class Person { String name } class Host { String url } 然后,我有一个由多个并发线程调用
给定: controller PersonController with a @Transactional action save 服务 PersonService,方法 populateProper
我将 Symfony2 与 Doctrine2 一起使用。有以下实体: /** * Person * * @ORM\Entity(repositoryClass="Acme\Bundle\Con
我有一个包含大约 30 万行描述 Apple 推送通知服务设备的表。我使用 Doctrine 2 作为 ORM。 插入设备没有问题,但是,检索它们是一个完全不同的故事。使用简单的 MySQL SELE
我已经调试了好几天了。 Store.findBy(function (record, id)不行为。或者也许是我行为不端。已将 JSON 放入代码中,以便于测试。 FindBy() 匹配 12345
我有一个扩展,我想在其中包含一些过滤器,我知道我可以使用 findBy 过滤我的 listAction() 显示的结果>. 我测试了它,它是这样工作的: $cars = $this->carRepos
我有一个关于 symfony Doctrine 的片段,它按降序选择数据。尝试应用 where 子句某些字段等于 true 是一个问题。下面是我的片段 $results = $this->getDoc
我想要这个功能 $entityManager ->getRepository('AppBundle:Example') ->findBy(array('id' => $id, 'active' =>
我在表中有一些错误数据,但并非所有字段都具有空值,如果可能的话,我想通过实现类似这样的方法在一次迭代中获取所有错误行。 $contactObj = $this->em->getRepository("
我有域类 => 多对多并使用 addTo 将它们关联起来。 class Books { static belongsTo = Author } class Author { stati
我有一个对象,我必须从中过滤某些属性,其中一些也可能是“空”。我有一个 Filter 对象和一个 Product 对象。 在 Filter 对象中,我有一些反射(reflect) Product 对象
有人在 Symfony 3(最后一个版本)中遇到过这个奇怪的问题吗? 我有以下简单的代码: $repository = $this->getDoctrine()
我遵循在 Doctrine 模型类中设置自定义 findOneByJoinedToCategory($id) 函数的示例,如此处文档中所述: http://symfony.com/doc/curren
我有一个实体 Items,它与另一个实体 ExceptionType 上的字段具有 ManyToOne 关系。我想返回基于银行号码(来自 Items 实体)和 itemExceptionType(来自
所以我有一个有趣的难题,我很想从其他 Webdriver 框架架构师那里得到一些反馈。目前我遵循一个非常标准的执行模型: 基础对象 页面对象(扩展基础对象) Junit 测试对象(引用一个或多个页面对
我有一个 Item 类,其属性名为vendor_name,如下所示: @Entity @Table(name="item_info") public class Item { @Column(
我是一名优秀的程序员,十分优秀!