0

我们是否可以在一个cs页面中定义一个函数并在另一个cs页面中引用该函数,以便第二个cs页面中设计的功能与第一个cs页面函数一起执行?

比如..在第一个cs页面

Iwebdriver driver;
driver=new firefoxdriver();

在第 2 个 cs 页面中,我包含了许多基于上述功能的功能,那么如何将其称为第 2 个 cs 页面中的函数,以便代码简洁存在?

4

1 回答 1

1

这是一个措辞非常糟糕的问题,但我只能假设您想要实现的基本上是能够在另一个测试中调用一个测试中的函数,或者更确切地说是另一个类中的一个

这是基本的 C#。

您的代码应该以一种很容易实现的方式进行拆分。所以这意味着您的测试与您的实际逻辑完全分开。

使用页面对象是一种方法:

http://code.google.com/p/selenium/wiki/PageObjects

这意味着您有一个类似的页面:

public class LoginPage
{
    public HomePage Login(string username, string password)
    {
        // do the login stuff
        // return the home page
    }
}

public class HomePage
{
    // some logic related to what the user can see on the home page.
}

您可以在如下测试中调用它:

var loginPage = new LoginPage();
HomePage homePage = loginPage.Login(username, password);

由于它现在是分开的,你可以LoginPage.Login()任何地方打电话。

这里的关键是不要将所有逻辑捆绑到测试本身中。如在每个测试中,不要复制/粘贴登录代码以登录您的网站。像上面一样存储它。测试应该是您采取的步骤,页面对象应该定义如何采取这些步骤。这样你就可以实现你的目标。

于 2013-04-25T19:51:55.013 回答