原创:分享一个selenium帮助类 -- seleniumHelper for .net

原创:分享一个selenium帮助类 -- seleniumHelper for .net

 

GUI自动化测试接触的不多,以前也就接触过QTP(现在叫UFT了),但都没深入过。

这次正好有个WEB测试项目,就试了下selenium.

 

废话不多说了,先上效果.

 视频看不到的戳这里

这里就拿百度来做个DEMO

先上测试代码,源码下周放出,DLL在这里

 static void testBaidu()
        {
            string i = string.Empty;
            RemoteWebDriver driver = new ChromeDriver();
            IOptions io = driver.Manage();
            io.Window.Maximize();
            

            string url = @"http://www.baidu.com";
            driver.Navigate().GoToUrl(url);

            IWebElement searchBox = driver.GetElementLazy(By.Id("kw"), 10);
            if (searchBox.Location.X < 200)
            {
                i = "1";
                searchBox = driver.GetElementLazy(By.Id("kw1"), 10);
            }
            driver.HighLight(searchBox,2);
            
            StepInfo si = new StepInfo();
            si.StepName = "step 1";
            si.StepAction = "Type HP in search box";
            si.StepExResult = "HP displayed in search box";
            si.StepStatus = StepStatus.process;

            driver.ShowStepAroundElement(si, searchBox, Align.auto);
            Thread.Sleep(2000);

            driver.RemoveHelper();
            
            while(searchBox.Displayed == false)
            {
                Thread.Sleep(1000);
            }
            searchBox.SendKeys("HP");

            si.StepStatus = StepStatus.fail;
            driver.ShowStepAroundElement(si, searchBox, Align.bottom);
            Thread.Sleep(2000);
            driver.RemoveHelper();

            IWebElement button = driver.GetElementLazy(By.Id("su"+i), 10);
            driver.HighLight(button);
            button.Click();

            driver.SwitchTo().DefaultContent();
            searchBox = driver.GetElementLazy(By.Id("kw"), 10);
            driver.HighLight(searchBox);
            searchBox.Clear();

            si.StepAction = "Type HP in search box";
            si.StepStatus = StepStatus.pass;

            driver.ShowStepAroundElement(si, searchBox, Align.right);
            Thread.Sleep(2000);
            driver.RemoveHelper();
            searchBox.SendNewKeys("Keys");


            button = driver.GetElementLazy(By.Id("su"), 10);
            driver.HighLight(button);
            string source = driver.Title;

            button.Click();

            //WebDriverWait wait = new WebDriverWait(driver,TimeSpan.FromSeconds(10));
            //IWebElement num = driver.FindElement(By.ClassName("nums"));
            //IWebElement num = wait.Until<IWebElement>((d) => { return d.FindElement(By.ClassName("nums")); });
            IWebElement num = driver.GetElementUntil(() => { return driver.Title != source; }, By.ClassName("nums"), 10);
            
           
            driver.HighLight(num, 3);
            si.StepName = "Step2";
            si.StepAction = "Check whether the record number";
            si.StepExResult = "The number should bigger than 20W";
            si.StepStatus = StepStatus.pass;
            driver.ShowStepAroundElement(si, num, Align.top);


            driver.SaveScreenUntil(() => { return driver.GetElementLazy(By.Id(si.StepId),2)!=null; }, @"E:\test.png", 2);
            driver.RemoveHelper();

            searchBox = driver.GetElementLazy(By.Id("kw"), 10);
            driver.HighLight(searchBox,2);
            searchBox.SendNewKeys("豆瓣音乐");


            button = driver.GetElementLazy(By.Id("su"), 10);
            driver.HighLight(button);

            button.Click();
            string xPath = "//span[text()='进入应用']";
            button = driver.GetElementLazy(By.XPath(xPath),10);
            driver.HighLight(button, 2);
            button.Click();
            Thread.Sleep(5000);
            driver.Quit();
        }
View Code

这个类主要扩展了IWebdriver的方法.

转载于:https://www.cnblogs.com/young1985/p/3560178.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值