由于公司政策,无法从http://beust.com/eclipse/下载testng。

时间:2018-06-25 13:55:28

标签: selenium testng

我用黄瓜BDD和testNG创建了一个maven项目。但是要使用testng我需要从eclipse帮助中安装testng插件。问题是我的公司已禁止使用此类外部连接。是否有替代方法。

1 个答案:

答案 0 :(得分:0)

以下是您的选择。

  1. 查看是否可以从公司的IT部门获得批准,将eclipse插件下载站点列入白名单,以便您可以通过eclipse进行安装(或让他们分别下载eclipse插件jar,然后将jar放到dropins文件夹,以便eclipse知道它。有关更多信息,请参阅this stackoverflow question的答案。
  2. 如果可用,请使用替代的IDE,例如IntelliJ。 IntelliJ与eclipse不同,它预装了TestNG插件,应该足够了。
  3. 您可以利用Maven / Ant / Gradle等构建工具从命令提示符下运行测试。 Maven和Gradle都可以在给定的时间甚至运行1个测试。因此,您应该能够从命令提示符下轻松地运行没有IDE的测试(这最终将是您的测试如何在诸如Jenkins这样的持续集成环境中运行的方式)
  4. 您创建一个main()方法容纳类,该类将直接使用TestNG API来创建测试。因此,每次您要运行TestNG测试类或套件等时,您只需返回到跑步者类,使用详细信息对其进行更新,然后通过它运行[对我来说,此选项是您的最后选择] < / li>

这是选项(4)的完整示例,您应该可以对其进行调整以供自己使用。

public class Practice {
    public static void main(String[] args) {
        for (String each : new String[]{"A", "B"}) {
            runWith(each);
        }
    }

    private static void runWith(String group) {
        TestNG testNG = new TestNG();
        XmlSuite xmlSuite = new XmlSuite();
        xmlSuite.setName("suite");
        XmlTest xmlTest = new XmlTest(xmlSuite);
        xmlTest.setName("test");
        xmlTest.addIncludedGroup(group);
        XmlClass clazz = new XmlClass(Practice.class);
        clazz.loadClasses();
        xmlTest.getClasses().add(clazz);
        testNG.setXmlSuites(Collections.singletonList(xmlSuite));
        System.out.println(xmlSuite.toXml());
        testNG.run();
    }

    @Test(dataProvider = "SearchProvider", groups = "A")
    public void testMethodA(String author, String searchKey) {
        System.out.println("testMethodA :" + author + ", " + searchKey);
    }

    @Test(dataProvider = "SearchProvider", groups = "B")
    public void testMethodB(String searchKey) {
        System.out.println("testMethodB :" + searchKey);
    }

    @DataProvider(name = "SearchProvider")
    public Object[][] getDataFromDataprovider(ITestContext c) {
        Object[][] groupArray = null;
        for (String group : c.getIncludedGroups()) {
            if (group.equalsIgnoreCase("A")) {
                groupArray = new Object[][]{
                        {"Guru99", "India"},
                        {"Krishna", "UK"},
                        {"Bhupesh", "USA"}
                };
                break;
            } else if (group.equalsIgnoreCase("B")) {
                groupArray = new Object[][]{
                        {"Canada"},
                        {"Russia"},
                        {"Japan"}
                };
            }
            break;
        }
        //return groupArray;
        return groupArray;

    }
}