繁体   English   中英

如何在eclipse中创建代码生成器,可以生成有关类属性的代码

[英]How can i create code generator in eclipse that can generate code regarding the class atributes

我是自动化测试开发人员,我使用硒+页面对象模型+ Junit进行测试。 这导致我遇到一个问题,在每个测试类中,我都声明如下属性:

By miscellaneousContainerFinder = By.cssSelector(".MISCELLANEOUS_ROW");
By goodbyeTextContainerFinder = By.cssSelector(".GOOD_BYE_TEXT_ROW");
By driversBarriersContainerFinder = By.cssSelector(".DRIVERS_BARRIERS_ROW");

但是还有更多属性,其中有15-20个。 让我头疼的是,我需要为每个“按”的简单方法创建,例如:

    public String getEmailComment() {

        try {
            return descriptionTabContainer.findElement(emailCommentFinder).getText();
        } catch (NoSuchElementException e) {
            return null;
        }
    }

或单击或键入WebElement的方法。 因此,我想到了Eclipse可以为属性生成getter / setter的方式,我知道我可以编辑这些代码的生成方式,并插入我想要的任何代码。 但是,如何添加新方法,同时指定它们将要具有的名称和返回值呢?

我希望可以选择生成此类方法-生成getter / setter,生成clickMethod,生成sendKeys方法,生成getText方法。

这可能还是我在做梦?

提前致谢。

一个非常有趣的问题,我身上经常发生类似的事情,现在该是我做些什么了。

这是使用模板的方法:转到窗口>首选项>编辑器>模板

并创建此模板:

private By ${word_selection}Finder = By.cssSelector("");//TODO add selector

public String get${word_selection}(){
    try {
            return descriptionTabContainer.findElement(${word_selection}Finder).getText();
    } catch (NoSuchElementException e) {
            return null;
    }
}

现在,如果您编写了一些变量,将其标记并单击ctrl + space选择您的模板名称,即可得到代码。

您可以为每个定位器自动生成代码:

https://github.com/naukri-engineering/SeleniumCodeGenerator

特征:

它有助于减少/消除在构建页面对象和编写用于域级别验证的自动化代码方面的重复编码工作。

•易于集成(只需要Java和ant)

•可以在Windows,Linux和Mac OS上运行•生成简洁代码并消除错别字

This Can be enhanced/used for Selenium, Appium and Robotium etc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM