我是自动化测试和硒的新手,并且一直在观看很多硒教程。我意识到硒测试用例是用2种格式编写的,我不知道哪一种用。 1)
namespace SeleniumTests
{
[TestFixture]
public class Login
{
private IWebDriver driver;
private StringBuilder verificationErrors;
private string baseURL;
private bool acceptNextAlert = true;
[SetUp]
public void SetupTest()
{
driver = new FirefoxDriver();
baseURL = "http://chapters.com";
verificationErrors = new StringBuilder();
}
[TearDown]
public void TeardownTest()
{
try
{
driver.Quit();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
Assert.AreEqual("", verificationErrors.ToString());
}
[Test]
public void TheLoginTest()
{
driver.Navigate().GoToUrl(baseURL");
driver.FindElement(By.Id("loginCtrl_UserName")).Clear();
driver.FindElement(By.Id("loginCtrl_UserName")).SendKeys("operations");
driver.FindElement(By.Id("loginCtrl_Password")).Clear();
driver.FindElement(By.Id("loginCtrl_Password")).SendKeys("welcome");
driver.FindElement(By.Id("loginCtrl_LoginButton")).Click();
driver.FindElement(By.Id("btnInitialLoad")).Click();
Assert.AreEqual("Chapters", driver.Title);
}
}
}
2)
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace TestProject1
{
public class UnitTest1
{
public void main()
{
FirefoxDriver driver = new FirefoxDriver();
string baseURL = "http://seleniumhq.org/";
driver.Navigate().GoToUrl(baseURL);
driver.FindElement(By.LinkText("Projects")).Click();
driver.FindElement(By.LinkText("Selenium IDE")).Click();
Assert.AreEqual(driver.FindElement(By.XPath("//div[@id='mainContent']/table/tbody/tr/td/p/b")).Text, "Selenium IDE");
driver.Close();
}
}
}
我和哪一个一起去? 感谢
答案 0 :(得分:1)
第二种情况是语句的简单顺序流,而没有像Junit,TestNG,Nunit这样的任何框架的优势。对于刚刚开始使用Selenium 2.0并希望使用webdriver提供的不同方法进行练习的人来说,这是一件好事。
第一个场景是将代码逻辑划分为Nunit提供的不同注释,这些注释可以获得正在使用的下划线框架的强大功能,在你的Nunit案例中,这些注释由Nunit框架自动调用。定义的顺序。除此之外,这些框架还提供了多个其他功能,如报告,断言,模拟对象支持等等。
总是使用第一个场景来编写Selenium代码,因为除了理解webdriver代码之外,还有一个下划线框架。