2

我正在经历开发基于(Selenium2)Webdriver 的 API 的痛苦,这是我的困境。

我基本上有4个包:

com.example.qa.pageobject
com.exmaple.qa.setup
com.example.qa.test
com.example.qa.utils

com.example.qa.test,我有测试类“使用”其他包中的类。

我最终采用了以下测试方法。

@Test
    public void testScenario16786() {
        Login login = new Login();
        login.setUp();
        AddSingleDomain asd = new AddSingleDomain();
        asd.addSingleDomain();
        AddARecord ar = new AddARecord();
        ar.AddARecordTest();

    }

现在,这似乎是用 Java 开发的一个非常糟糕的例子,这几乎看起来是程序化的。还有其他方法吗?在设计 API 时,是否有一些我需要注意的规则,这些规则将被其他人使用?我确信这在某种程度上是一个经典问题并且之前已经解决了,我只想知道解决这个问题的许多方法是什么,例如:

一种解决方案,可能是使用工厂模式,并基于一个键,实例化一个特定的类,这很好,但有没有更优雅的方法?

4

2 回答 2

1

您的测试课程必须是程序性的 - 一组可重复的步骤,这很好。通常推荐的方法是使用 Page Object 模式,selenium 也提供了一个 PageFactory 对象来帮助你(见页尾): page objects

于 2012-09-26T19:56:03.717 回答
0

您可能会发现Joshua Bloch 的演示文稿“如何设计一个好的 API 及其重要性”很有帮助。

于 2012-09-26T18:27:57.197 回答