Selenium

摘要:
今天突然想了解下Selenium。虽然很久以前,有特意学过Selenium,也用C#写入测试样例,但由于那时什么都没有记录下来,之前积累的经验为0了。以后对自己做过的项目,学过的技术,过一段时间后,要进行总结。自己写的 StartSelenium.bat 脚本java-jar"D:Selemiumselenium-server-standalone-2.28.0.jar"-trustAllSSLCertificates看到里面有个方法:CloseAlertAndGetItsText,应该是关闭浏览的alert,并获取alert里面的文本。虽然Greasemonkey也可以实现部分Selenium的功能,但从这个函数看来,Selenium比Greasemonkey强多了。SeleniumIDE 比较简单,能够录制视频。

今天突然想了解下Selenium。虽然很久以前,有特意学过Selenium,也用C#写入测试样例,但由于那时什么都没有记录下来,之前积累的经验为0了。以后对自己做过的项目,学过的技术,过一段时间后,要进行总结。
自己写的 StartSelenium.bat 脚本

java -jar "D:Selemiumselenium-server-standalone-2.28.0.jar" -trustAllSSLCertificates

自己写的测试样例:

usingSystem;usingSystem.Text;usingSystem.Text.RegularExpressions;usingSystem.Threading;usingNUnit.Framework;usingOpenQA.Selenium;usingOpenQA.Selenium.Firefox;usingOpenQA.Selenium.Support.UI;namespaceSeleniumTests
{
    [TestFixture]public classLogin
    {privateIWebDriver driver;privateStringBuilder verificationErrors;private stringbaseURL;private bool acceptNextAlert = true;
        
        [SetUp]public voidSetupTest()
        {
            driver = newFirefoxDriver();
            baseURL = "https://*/login.php";
            verificationErrors = newStringBuilder();
        }
        
        [TearDown]public voidTeardownTest()
        {try{
                driver.Quit();
            }catch(Exception)
            {//Ignore errors if unable to close the browser}
            Assert.AreEqual("", verificationErrors.ToString());
        }
        
        [Test]public voidTheLoginTest()
        {
            driver.Navigate().GoToUrl(baseURL + "/login.php?action=logout");
            driver.FindElement(By.Id("username")).Clear();
            driver.FindElement(By.Id("username")).SendKeys("***");
            driver.FindElement(By.Id("password")).Clear();
            driver.FindElement(By.Id("password")).SendKeys("***");
            driver.FindElement(By.Name("Per_sel_bu1")).Click();
            driver.FindElement(By.LinkText("IDC管理")).Click();//ERROR: Caught exception [ERROR: Unsupported command [selectFrame | if_sidebar | ]]driver.FindElement(By.LinkText("排班管理")).Click();
            driver.FindElement(By.LinkText("设备管理")).Click();
        }private boolIsElementPresent(By by)
        {try{
                driver.FindElement(by);return true;
            }catch(NoSuchElementException)
            {return false;
            }
        }        private stringCloseAlertAndGetItsText() {try{
                IAlert alert =driver.SwitchTo().Alert();if(acceptNextAlert) {
                    alert.Accept();
                } else{
                    alert.Dismiss();
                }returnalert.Text;
            } finally{
                acceptNextAlert = true;
            }
        }
    }
}

看到里面有个方法:CloseAlertAndGetItsText,应该是关闭浏览的 alert ,并获取 alert 里面的文本。虽然Greasemonkey也可以实现部分Selenium的功能,但从这个函数看来,Selenium比Greasemonkey强多了。
Selenium IDE 比较简单,能够录制视频。

免责声明:文章转载自《Selenium》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DB2 错误码解析Corn 表达式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用try-with-resource遇到的问题

JDK1.7增加了try-with-source语法。在try中声明一个或者多个资源,在try块代码执行完成后自动关闭流,不用再写close()进行手动关闭。 1 try(Resource res = xxx)//可指定多个资源 2 { 3 work with res 4 } 5 // 实现了AutoCloseable接口的类的对象就是资源 于...

使用Python爬虫爬取网络美女图片

代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install requests -i https://mirrors.ustc.edu.cn/pypi/web/simple 安装lxml库(用于解析html文件) p...

Sqlite 帮助类 SQLiteHelper

///源码下载地址:http://download.csdn.net/detail/kehaigang29/8836171 ///dll下载地址:http://download.csdn.net/detail/kehaigang29/8837257 /// <summary> /// 本类为SQLite数据库帮助静态类...

JAVA异常处理

  图片来自网络 异常类体系   Error 一般指虚拟机相关错误,是程序无法处理的,如OutOfMemoryError、ThreadDeath、系统崩溃等。这种错误由JVM来处理,不可能捕获也无法恢复,JVM在大多数情况下会选择终止线程导致程序中断。   Exception 程序可以捕获处理的异常。分为两种:CheckedException,Un...

实验3- 熟悉常用的 HBase 操作

石家庄铁道大学信息科学与技术学院 实验报告 2018年----2019年第一学期 题目:熟悉常用的 HBase 操作 课程名称:大型数据库应用技术 班级:信1605-2班 姓名: XX学号: XXXXXXXX 指导教师: XXX 一、实验内容与完成情况:(实验具体步骤和实验截图说明) 实验...

前端用js获取本地文件的内容

这里要写成input的形式 调用upload函数 传递的参数就表示所选的文件<input type="file" onchange="upload(this)" /> //前端读取本地文件的内容 下面代码中的this.result即为获取到的内容 function upload(input) { //支持chrome IE10...