Selenium+C#自动化脚本开发知识学习(一)

上一篇 / 下一篇  2014-08-16 10:49:43 / 个人分类:自动化测试之WebDriver+Selenium

Selenium+C#自动化脚本开发知识学习

1Selenium中对浏览器的操作

首先生成一个Web对象

IWebDriver driver = new FirefoxDriver();

 

//打开指定的URL地址

driver.Navigate().GoToUrl(@"http://12.99.102.196:9080/corporbank/logon_pro.html");

 

//关闭浏览器

Driver.quit();

 

 

网银浏览器兼容性测试过程中,关闭浏览器后会有对话框,此问题解决方法如下:

public void logout()

        {

            System.Diagnostics.Process[] myProcesses;

myProcesses = System.Diagnostics.Process.GetProcessesByName("IEXPLORE");

            foreach (System.Diagnostics.Process instance in myProcesses)

            {

                instance.Kill();

            }

        }

 

 

2Selenium中执行JS脚本 

//需要将driver强制转换成JS执行器类型

((IJavaScriptExecutor) driver).ExecuteScript("js文件名")

 

 

3Selenium中定位页面元素

driver.FindElement(By.Id("cp1_btnModify")).click();

    By.ClassName(className))     
    By.CssSelector(selector)        
    By.Id(id)                      
    By.LinkText(linkText)           
    By.Name(name)              
    By.PartialLinkText(linkText) 
    By.TagName(name)        
    By.Xpath(xpathExpression)

 

3.1根据元素id定位并操作

//向指定的文本框输入字符串500001

Driver.FindElement(By.Id("amount")).SendKeys("500001");

 

3.2根据元素classname定位并操作

//点击classname为指定值的按钮

Driver.FindElement(By.ClassName(“WotherDay”)).click()

 

3.3根据元素的linktext定位并操作

Driver.FindElement(By.LinkText(“选择账号”)).click()

 

3.4根据元素的Name定位并操作

Driver.FindElement(By.Name(“quality”)).perform()

 

3.5使用CssSelector定位并操作

string order = "#resultTable.result_table tbody tr.bg1 td.center a";

driver.FindElement (By.CssSelector(order)).click()

 

3.6使用Xpath定位并元素并操作

//使用多个属性定位元素

Driver.FindElement(By.XPath("//input[@id='submit' and @value='下一步']")).click()

 

//使用绝对路径定位元素

string path = "/html/body/div[4]/div/div/div[2]/table/tbody/tr/td/a";

Driver.FindElement(By.Xpath(path)).click()

 

各方法使用优先原则:

优先使用id,name,classname,link;次之使用CssSelector();最后使用Xpath()

因为Xpath()方法的性能和效率最低下。

4Selenium中清空文本框中的默认内容

//清空文本框clear()

Driver.FindElement(By.Id("tranAmtText")).clear()

 

 

5Selenium在指定的文本框中输入指定的字符串

//在文本框中输入指定的字符串sendkeys()

Driver.FindElement(By.Id("tranAmtText")).SendKeys(“123456”)

 

6Selenium移动光标到指定的元素上

//移动光标到指定的元素上perform

Actions action=new Actions(driver)

action.MoveToElement(Find(By.XPath("//input[@id='submit' and @value='确定']"))).Perform();

 



TAG:

 

评分:0

我来说两句

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 43493
  • 日志数: 15
  • 建立时间: 2014-08-04
  • 更新时间: 2015-10-21

RSS订阅

Open Toolbar