我们可以在一个cs页面中定义一个函数并在另一个cs页面中引用该函数,以便在第二个cs页面中设计的函数是用第一个cs页面函数执行的吗?
例如......在第一个cs页面
Iwebdriver driver;
driver=new firefoxdriver();
在第二个cs页面中,我基于上面的函数包含了很多函数,那么如何将它作为第二个cs页面中的函数引用,以便代码简单存在?
答案 0 :(得分: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()
。
这里的关键是不将所有逻辑捆绑到测试中。如同,请不要复制/粘贴登录代码以登录您的网站进入每个测试。存储它,如上所述。测试应该是您采取的步骤,页面对象应该定义如何这些步骤。这样你就可以实现目标。