我正在开发一个selenium WebDriver框架[Java],其中有一个Base类,其他所有类都从这个类扩展而来.此外,我遵循页面对象模型,其中每个页面对应于一个类和方法,其中导航到下一页返回下一页/类的新实例.简而言之,每个UI页面对应于Class
现在每个页面都有一些共同的功能,所以不要把它们放到每个类中,而是避免DRY我把它放在我的Base Page类中
对于前goBack方法是在每个基本上导航到上一页的页面上.
我担心的是我想跟随页面/类之间的链接,因此我不确定什么应该是前goBack的常用方法的返回类型.
请记住,导航到下一页的任何方法都应该返回该页面的新实例.
我认为一个解决方案是实现泛型,但仍在努力.任何人都可以帮助我如何实现这一目标.
public class BasePage {
public WebDriver driver;
public BasePage(WebDriver driver) {
this.driver=driver;
}
public BasePage clickGoBack() throws Exception{
driver.click(goBackButton);
return this;
}
}
Run Code Online (Sandbox Code Playgroud) 我面临Cypress 4.7.0的问题。以下是我在尝试自动执行 Automationpractice.com 网站上的用户创建场景时收到的错误代码
该方法
cy.click()失败,因为该元素已与 分离DOM。Run Code Online (Sandbox Code Playgroud)<input type="password" class="is_required validate form-control" data-validate="isPasswd" name="passwd" id="passwd">Cypress 需要附加元素才能
DOM与它们交互。之前运行的命令是:
Run Code Online (Sandbox Code Playgroud)cy.get()该
DOM元素可能在先前命令和当前命令之间的某个位置分离。发生这种情况的常见情况:
- 您的 JS 框架会异步重新渲染。
- 您的应用程序代码对事件触发做出反应并删除了该元素。
上述场景的代码示例:
describe("Cypress demo script", () => {
it("triage DOM issue", () => {
const uuid = () => Cypress._.random(0, 1e6);
const id = uuid();
cy.visit("http://automationpractice.com/index.php");
cy.wait(2000);
cy.contains("Sign in").click();
const email = "tester" + id + "@yopmail.com";
cy.get("#email_create").type(email);
cy.get("#SubmitCreate > span").click();
cy.get("form#account-creation_form").within(($form1) => {
cy.get("input#id_gender1").click();
cy.get("input#customer_firstname").type("Automation");
cy.get("input#customer_lastname").type("tester");
cy.get("input#passwd").click({ …Run Code Online (Sandbox Code Playgroud) 可以说我有
class Person {
String Age;
String Name;
}
Class Employee {
int Salary;
String Name;
}
Run Code Online (Sandbox Code Playgroud)
我在列表中有这些类的各种实例.我已经建立,其接受2个独立的功能List<Person>和List<Employee>和显示的内容.但我想创建一个通用函数,它接受任何对象的List并执行显示部分.
请帮我
谢谢Sunny
我最近开始使用 Protractor 库来测试 angularjs 站点。我尝试使用以下 2 个库来创建 HTML 报告,但在这两种情况下我都遇到了错误
https://www.npmjs.com/package/protractor-jasmine2-html-reporter 和 https://www.npmjs.com/package/protractor-jasmine2-screenshot-reporter。
平台:- Windows 7
安装cmd:- npm install -g protractor-jasmine2-html-reporter
错误:找不到模块“protractor-jasmine2-html-reporter”
配置文件
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var today = new Date(),
timeStamp = today.getMonth() + 1 + '-' + today.getDate() + '-' + today.getFullYear() + '-' + today.getHours() + 'h-' + today.getMinutes() + 'm';
var reporter=new Jasmine2HtmlReporter({
consolidateAll: true,
savePath: 'target/screenshots',
takeScreenshotsOnlyOnFailures: true,
filePrefix: 'index -'+today
});
// An example configuration file.
exports.config = {
directConnect: true,
// Capabilities …Run Code Online (Sandbox Code Playgroud)