zoukankan      html  css  js  c++  java
  • WebDriver自动化测试工具(3)---PhantomJS的使用

      PhantomJS是一个基于webkit的javascript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、html5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。

    其使用也挺简单:

    一.安装

    下载WebDriverC#类库,http://www.seleniumhq.org/download/

    此外还需要下载一个PhantomJS,下载地址:http://phantomjs.org/download.html

    这里可以在Nuget中搜索Selenium.WebDriver和Selenium.PhantomJS.WebDriver进行下载,不过国内网络问题,可能出现下载不来

    二.引用(Nuget下载忽略此步骤)

    如果是通过链接下载,则进行引用即可,phantomjs.exe把其放在根目录,然后属性里设置始终复制即可

    三.初试

    using OpenQA.Selenium;
    using OpenQA.Selenium.PhantomJS;
    using System;
    
    namespace PhantomJSDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                var url = "https://www.baidu.com";
                var driver = new PhantomJSDriver();
                driver.Navigate().GoToUrl(url);
    
                driver.FindElement(By.Id("kw")).SendKeys("asp.net");
                driver.FindElement(By.Id("su")).Click();
                Console.WriteLine(driver.Title);
                Console.Read();
                driver.Quit();
            }
        }
    }
    driver类型 优点 缺点 应用
    真实浏览器driver 真实模拟用户行为 效率、稳定性低 兼容性测试
    HtmlUnit 速度快 js引擎不是主流的浏览器支持的 包含少量js的页面测试
    PhantomJS 速度中等、模拟行为接近真实 不能模拟不同/特定浏览器的行为 非GUI的功能性测试

  • 相关阅读:
    AutoCompleteTextView控件的使用
    menu菜单
    fragment之间的通信
    fragment的生命周期
    用模型取代字典的好处
    使用fragment兼容低版本的写法
    模拟微信主界面
    动态替换fragment
    fragment入门
    Spring MVC学习总结(1)——Spring MVC单元测试
  • 原文地址:https://www.cnblogs.com/zuqing/p/7298266.html
Copyright © 2011-2022 走看看