java-@findby的访问修饰符应该是私有的还是公共的?
作者:互联网
我一直在通过@FindBy为Web元素使用私有访问修饰符.例如
@FindBy(id="signin")
private WebElement loginButton;
然后使用getter和setter公开此网络元素.
但是,我在某处读到@FindBy不需要与getter和setter一起使用,因为它在内部具有私有访问修饰符.那是对的吗?
解决方法:
因为在Java中实际上没有getter和setter,所以最好将所有元素设为私有.
然后将它们包装在您称为getter,setter或其他方式的方法中.
如果您使用按钮,它将永远不需要一个值,因此您不需要设置器.在这种情况下,最好这样命名您的方法:loginButton();
并将其用作pageClass.loginButton().click();
但是,如果您有一个字段并且想要从中获取值并进行设置,则可以创建两个方法并调用它们:getFieldValue();和setFieldlValue();
为什么更好地包装私有字段是因为您可以设置要设置在字段中的数据限制,并且可以安全地单击按钮(等待单击后立即加载页面和ajax).
标签:selenium,selenium-webdriver,java 来源: https://codeday.me/bug/20191119/2039638.html