网站测试自动化系统?基于Selenium和VSTT
作者:网络转载 发布时间:[ 2012/9/10 16:31:03 ] 推荐标签:
// 变慢,所以
public const string TimeToWaitForPageLoad = "30000";
}
public class TestLibrary
{
public UserOperationsHelper UserHelper { get; private set; }
}
public class TestClass
{
[TestMethod]
public void LogOnTest()
{
var username = "donjuan";
var password = "它是个秘密";
TestLibrary.UserHelper.LogOn(username, password);
// 在测试过程中,我们发现这个链接是
// 根据用户名而变的,为了扩展性,动态生成其标识文本
selenium.Click(string.Format("link={0}", username));
selenium.WaitForPageToLoad(Consts.TimeToWaitForPageLoad);
selenium.Click("link=博客");
selenium.WaitForPageToLoad(Consts.TimeToWaitForPageLoad);
// 执行一些必要的测试验证过程
Assert.IsTrue(selenium.IsTextPresented(...));
}
}
这里稍微解释一下,创建自动化测试代码,是为了节省手工重复测试的工作量以及测试失误的风险。但只要是代码,都会有可能出错,因此自动化测试框架里面创建了一个CaseErrorException,这样在每次分析测试用例失败的时候,可以一眼区分开测试代码的错误和产品代码中的错误。例如在UserOperationHelper.LogOn函数中的参数检查,当然啦,在测试过程当中,有可能需要测试不输入用户名或者密码的情况下,验证登录界面是否正常工作的情况。因此在验证参数的时候,特意为这种情况留下了String.Empty的入口,而对于null值,则基本上可以判断是因为测试人员在编写代码上的失误(具体原因会在数据驱动测试里面讲到)。
至于TestLibrary的初始化,完全可以放到每一个测试类型的TestInitializer里面,如下表所示:
[TestClass]
public class AddBlogTest
{
private TestContext testContextInstance;
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
private TestLibrary TestLibrary;
private ISelenium selenium;
[TestInitialize]
public void SetupTest()
{
TestLibrary = TestLibrary.SetupTest(TestContext);
selenium = TestLibrary.Selenium;
}
[TestCleanup]
public void TeardownTest()
{
TestLibrary.Shutdown();
}
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11