Selenium Test Case写作练习

时间:2014-09-16 01:42:33

标签: c# selenium selenium-webdriver automation

我是自动化测试和硒的新手,并且一直在观看很多硒教程。我意识到硒测试用例是用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();
        }
    }
}

我和哪一个一起去? 感谢

1 个答案:

答案 0 :(得分:1)

第二种情况是语句的简单顺序流,而没有像Junit,TestNG,Nunit这样的任何框架的优势。对于刚刚开始使用Selenium 2.0并希望使用webdriver提供的不同方法进行练习的人来说,这是一件好事。

第一个场景是将代码逻辑划分为Nunit提供的不同注释,这些注释可以获得正在使用的下划线框架的强大功能,在你的Nunit案例中,这些注释由Nunit框架自动调用。定义的顺序。除此之外,这些框架还提供了多个其他功能,如报告,断言,模拟对象支持等等。

总是使用第一个场景来编写Selenium代码,因为除了理解webdriver代码之外,还有一个下划线框架。

相关问题