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的功能性测试

时间: 2024-08-04 15:08:43

WebDriver自动化测试工具(3)---PhantomJS的使用的相关文章

WebDriver自动化测试工具(1)---C#环境搭建

Webdriver是一个前端自动化测试工具,可以模拟用户点击链接,填写表单,点击按钮等操作,下面介绍其使用 一.下载WebdriverC#类库以及对应浏览器驱动 http://www.seleniumhq.org/download/ 也可以通过Nuget去下载,不过国内防火墙的问题,一般下载不来,所以还是使用上述方法比较稳 这里只演示谷歌,其他浏览器操作类次 二.在项目中引用下载的DLL,chromedriver.exe可以把其放在项目根路径,然后属性里设置始终复制即可 三.做一个Demo,让浏

推荐五款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏. 自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几年前出的,一些才在市场上出来.每款工具有一定的特点,都是独特的. 在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的.问题是,几乎没有任何现有的工具完全适应项目的要求. 为了自动化测试有效和有益,它必须具有: 1.研究测试和项目中的软件产品: 2.明确哪些测试需自动化 3.制定自动化测试

Web自动化测试工具——Selenium

在最近的Web课程设计上我接触到了Selenium这款Web自动化测试工具,它可以通过一系列find_element()方法定位到目标元素,对其发送模拟按键操作,使操作自动化. 首先,使用pip安装Selenium的Python模块. 下面是我写的例程.find_element_by_name方法就是通过name属性来定位元素,然后通过send_keys()发送模拟按键.基于这样的操作基本可以完成各种web下的模拟操作. import time from selenium import webd

Selenium(ThoughtWorks公司开发的web自动化测试工具)

Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7.8.9).Mozilla Firefox.Mozilla Suite等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求.支持自动录制动作和自动生成 .Net.Java.Perl等不同语言的测试脚本.Selenium 是ThoughtWor

自动化测试工具——selenium

官方网站:http://www.openqa.org/selenium/ 1.常用的几种Selenium Selenium IDE是一个带有执行界面的,用于录制或编写脚本的初级工具.它是一个firefox插件,因此只能够在Firefox上使用. Selenium1(Selenium-RC)能支持几乎所有浏览器的测试,但受到JavaScript安全模型导致的限制,其编程方式更像是面向过程的而非面向对象的. Selenium2(即WebDriver)是一种用于Web应用程序的自动化测试工具,不依赖于

六款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏.       自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几年前出的,一些才在市场上出来.每款工具有一定的特点,都是独特的.       在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的.问题是,几乎没有任何现有的工具完全适应项目的要求. 为了自动化测试有效和有益,它必须具有:?研究测试和项目中的软件产品:?明确哪些测试需自动化 ?

nightwatch-前端自动化测试工具安装

最近再弄这个前端自动化测试工具,刚开始弄了几天,目前为止遇到很多坑,光是安装就费了不少时间,记录一下,以便自己忘记. 这里是它的官网,目前没找到中文版的官网,全英文,对我这个英语渣来说有点难理解. 一.前言 参考:首先本文主要是参照这篇文章,并加上自己的理解,大家可以看看. 涉及知识:1.一些js知识(本文需要的不是太多):2.nodejs. 基础环境:1.java:java7以上,可以去官网下载:2.nodejs,版本没限制,没有安装过就直接去官网下载就可以了.3.编辑器(我用的vscode,

Selenide 阶段性总结介绍(UI自动化测试工具)

今天给大家介绍一个比较新的UI自动化测试工具-- Selenide.确实是比较新的,国内应该还没有多少人用它.在百度和google上你只能搜到一个中文帖子简单介绍了一下.如果你想用这个工具,不可避免的你要去阅读英文文档了.不过这年头写代码的有几个看不懂英文的.所以这都不是问题. 简单介绍 Selenide的团队自诩它是一个测试工具而不是一个测试框架.因为它只是webdriver的一个封装,只是他们封装了更好用的API,更稳定的控件搜索机制,更好的异常处理机制等等.底层的实现还是webdriver

最流行的自动化测试工具,总有一款适合你

1)Selenium Selenium 可能是网页应用中最流行的开源自动化测试框架.起源于 2000 年,10 多年来不断地完善,Selenium 成为许多 Web 自动化测试人员的选择,尤其是那些有高级编程和脚本技能的人.Selenium 也成为了其他开源自动化测试工具比如 Katalon Studio,Watir,Protractor 和 Robot Framework 的核心框架. Selenium 支持多系统环境(Windows,Mac,Linux)以及多种浏览器(Chrome,Fire