精华内容
下载资源
问答
  • 本文技术难度★★★,初学自动化测试的朋友慎点!...但是,司职网页自动化测试的Selenium,几乎没变化! 如果某一天你被告知,Selenium不能用了,网页自动化小伙伴何去何从?! 现实点儿吧,从现在开始,看看...

    本文技术难度★★★,初学自动化测试的朋友慎点!否则会引起焦虑等不适症状,严重者会怀疑自己技术人生!
    在这里插入图片描述来自Cypress官网首页!

    Web开发飞速换代!
    table控制页面OUT了!
    原生态手写网页OUT了!
    纯原生态JS写特效OUT了!

    但是,司职网页自动化测试的Selenium,几乎没变化!

    如果某一天你被告知,Selenium不能用了,网页自动化小伙伴何去何从?!
    在这里插入图片描述现实点儿吧,从现在开始,看看有什么能替代Selenium的才是真理!

    Cypress是一个选择!

    Cypress,基于Node.JS的Web自动化测试工具。官网:www.cypress.io

    Cypress是个JavaScript的测试框架,所以前提条件是配置好Node.JS环境,本文不赘述。

    安装条件
    • macOS 10.9 and above (64-bit only)

    • Linux Ubuntu 12.04 and above, Fedora 21 and Debian 8 (64-bit only)

    • Windows 7 and above

    安装过程很简单,直接 npm install cypress --save-dev,后面的一系列依赖由Node.JS自动会完成。
    在这里插入图片描述出现类似上面的内容,如:“+ cypress@X.X.X ”以及后面的added XXX packages from YY contributors… found 0 vulnerabilities。说明安装没问题了。

    默认会在Windows用户主目录下的node_modules目录的.bin目录下创建cypress命令。

    比如,笔者电脑用户名为:public.DESKTOP-J5M2NO4,那么cypress命令路径为:C:Userspublic.DESKTOP-J5M2NO4 ode_modules.bin

    怎么判断是否装好了?

    不如直接开始Cypress首次航行!

    首先,新建一个目录,例如:c:workspaceswebproject。

    其次,切换到该目录,运行命令:npx cypress open

    Cypress会打开一个对话框。
    在这里插入图片描述这个对话框是一个使用范例,教用户如何编写测试用例的。

    默认情况下,使用Chrome浏览器。见右上角。

    当然,点击右上角“Chrome 74”,可以切换Cypress自己的浏览器(不推荐)。

    选好浏览器,点击“run all”,一系列示例测试用例开始执行了。每个.js文件就是一个测试用例。
    在这里插入图片描述执行过程,可以看到具体动作和对应的测试用例代码,可以说是相当人性化了!
    在这里插入图片描述抛开JS语法不谈,看看右侧代码示例,Cypress还是很接近人类语言的。

    到此,Cypress安装结束,示例代码都有了,余下的可以自己探索。

    Cypress官方文档非常全面!而且,确实功能强大!

    作  者:Testfan Arthur
    出  处:微信公众号:自动化软件测试平台
    版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

    展开全文
  • Selenium实现网页自动化测试

    千次阅读 2019-07-24 18:04:01
    目录 简介 整体思路 简介 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,...这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览...

    目录

     

    简介

    整体思路


    简介

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

    Selenium包括以下组件:

    Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本

    Selenium Remote Control (RC) :支持多种平台(Windows,Linux,Solaris)和多种浏览器(IE,Firefox,Opera,Safari),可以用多种语言(Java,Ruby,Python,Perl,PHP,C#)编写测试用例。

    Selenium Grid :允许Selenium-RC 针对规模庞大的测试案例集或者需要在不同环境中运行的测试案例集进行扩展。

     

    Selenium 2.0兼容Selenium,在Selenium的基础上加入了webdriver。

    Selenium 2.0适用于以下浏览器  :

    Google Chrome

    Internet Explorer 7, 8, 9, 10, 11

    Firefox

    Safari

    Opera

    HtmlUnit

    phantomjs

    Android

    iOS

    本文档基于Selenium 2.0,环境如下:

    操作系统:windows 10 64位

    JDK: 1.8

    Google Chrome版本:55.0.2883.87 (64-bit)

    Firefox版本:54.0.1 (32 位)

    IE版本:11

    整体思路

    1. 测试人员在firefox或chrome上安装Selenium IDE插件,录制并导出java webdriver代码;
    2. 将java代码导入开发工具中(idea或eclipse)执行测试,观察测试结果;
    3. Java环境依赖项
        • 下载浏览器驱动,驱动下载完成后解压,将驱动文件所在路径添加到环境变量中,或者直接将驱动文件放到系统目录下,例如放在:C:\Windows\System32,否则会在执行测试代码的时候提示找不到驱动。

    Firefox:https://github.com/mozilla/geckodriver/releases

    Chrome:http://chromedriver.storage.googleapis.com/index.html

        • 下载selenium jar包,并添加到开发工具的依赖项中。
        • 依赖Junit 4,在开发工具中将Junit 4的相关jar包添加到依赖项中。
    1. 版本关系

    在firefox中安装了selenium ide插件并生成导出java代码,将java代码导入到idea工具中执行的时候,虽然能打开firefox浏览器,但并没能正常执行测试。最终在chrome下执行成功。在此记录一下整个执行环境涉及到的各个依赖项的版本对应关系。

    Selenium ide插件版本(在firefox下录制):selenium_ide-2.9.1-fx.xpi

    Firefox版本:54.0.1 (32 位)

    Google Chrome版本:55.0.2883.87 (64-bit)

    Selenium jar包:3.9.0

    下载地址:http://selenium-release.storage.googleapis.com/index.html?path=3.9/

    Junit 4

     

    ChromeDriver:2.28

    下载地址:http://chromedriver.storage.googleapis.com/index.html?path=2.28/

    参考chromedrive和chrome浏览器版本对应关系

    地址:https://www.cnblogs.com/-dll-2692663051--html/articles/9306524.html

     

    geckodriver:0.21.0(代码执行报错)

     

    InternetExplorerDriver(和Selenium版本一致,未测试成功,代码执行报错):

    下载地址:

    http://selenium-release.storage.googleapis.com/index.html?path=3.9/

    展开全文
  • 网页自动化测试用例

    千次阅读 2019-02-25 13:24:35
    今天是周一,从上上周开始就一直在写网页自动化测试,这周做一个总结。 首先是需要的依赖: <dependency> <groupId>org.seleniumhq.selenium</groupId> <...

    testNG

    2019年02月25记录

    今天是周一,从上上周开始就一直在写网页的自动化测试,这周做一个总结。

    首先是需要的依赖:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>RELEASE</version>
    </dependency>

    第二就是需要用到google提供的网页驱动:

    public class WebBrowser {
        private static WebDriver driver;
    ​
        public static WebDriver getDriver(){
            //WebDriver driver;
            if(null == driver){
                // 加载浏览器驱动
                System.setProperty("webdriver.chrome.driver","D:\\java\\chrome\\chromedriver.exe");//存放chormedriver驱动
                driver = new ChromeDriver();
                // 设置等待页面加载时间是10秒,如果10秒内加载完毕,剩余时间不再等待
                driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
                // 最大化浏览器
                driver.manage().window().maximize();
            }
            return driver;
        }
    ​
        public static void destoryDriver(){
            driver.quit();
            driver = null;
        }
    }

    这里的重心是chormedriver要和本地下载的Chrome的版本一致,为了确保版本一致,可以先查看你使用的Chrome的版本,在google的设置中可以点开关于Chrome

     

    可以看到当前查询的版本是72.0.3626.109

    然后我们可以打开网址http://npm.taobao.org/mirrors/chromedriver寻找到对应的版本下载,放到相应的目录中

    完成以上的就可以自动编写测试用例啦,具体的获取元素等细节可以参考https://blog.csdn.net/qq_22003641/article/details/79137327

    下面提到是编写的体会与建议:

    1.如果需要用到打桩,可以使用okhttps,下面是提供的普遍json提交和get获取数据示例

    需要先添加jackson的支持

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.9.7</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.7</version>
    public class OkHttpUtils {
    ​
        public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
        private static ObjectMapper objectMapper = new ObjectMapper();
    ​
        /**
         * 通过okhttp post上传数据并返回结果
         * @param url
         * @param object
         * @return
         * @throws IOException
         */
        public static String post(String url, Object object) throws IOException {
            OkHttpClient client = new OkHttpClient();
            String json  = objectMapper.writeValueAsString(object);
            RequestBody body = RequestBody.create(JSON, json);
            Request request = new Request.Builder()
                    .url(url)
                    .post(body)
                    .build();
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                return response.body().string();
            } else {
                throw new IOException("Unexpected code " + response);
            }
        }
    ​
        public static String get(String url) throws IOException {
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder().url(url).build();
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                return response.body().string();
            } else {
                throw new IOException("Unexpected code " + response);
            }
        }
    ​
    ​
    }

    2.需要简便获取元素,使用By.xpath(“此处为元素的xpath”),建议还是使用id,id的取值可以特别化,比如test_goback_btn

    3.获取其中一列

    .

     

    //*[@id="site"]/div/ul/li[1]/a[1]获取到的xpath

    要获取类似的元素只要通弄过修改li[]中的数字

    4.获取列表个数:

    获取列表个数就是采用

    WebElement element = driver.findElement(By.xpath("//*[@id=\"wechat_guide_show\"]/div"));//该列表的上一级

    再通过element去找下一级的列表

    element.findElements(By.className("col-md-2")).size()就是列表个数,当然也可以使用col-sm-6
    

     

     

     

    展开全文
  • Python + Selenium网页自动化测试

    千次阅读 2015-10-27 14:53:46
    1.用selenium做网页自动化步骤: 1)环境搭建 2)selenium IDE将需要自动化的web处进行编译,对于初学者省下很大的功夫 3)将录制的脚本导出Python文件 4)修改Python文件,将其作为自己的自动化web测试...

    导言:B/S架构落败了,C/S架构兴起,各种APP,吃饭有美团外卖、饿了么、百度外卖;坐车有滴滴打车、Uber,快的打车;但是这些APP还是需要WEB后台进行数据统计与整理。

    1.用selenium做网页自动化步骤:

    1)环境搭建

    2)selenium IDE将需要自动化的web处进行编译,对于初学者省下很大的功夫

    3)将录制的脚本导出Python文件

    4)修改Python文件,将其作为自己的自动化web测试脚本

    5)不断的修改添加测试模块

    【备注】

    模拟操作:

    agent=”Mozilla/5.0 (X11; U; Linux i686 (x86_64); zh-CN; rv:1.9.1.2)Gecko/20090729 Firefox/3.5.2”
    s = requests.Session()
    s.headers.update({‘User-Agent’: agent})

    下面展示魔线网登陆,查看个人中心及查看发表动态详情

    1.selenium IDE录制脚本
    将录制的脚本按python语言导出

    2.修改脚本

    # -*- coding: utf-8 -*-
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    from selenium.common.exceptions import NoAlertPresentException
    import unittest, time, re
    
    class MoxianSelenium(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.driver.implicitly_wait(30)
            self.base_url = "http://moxian.com/"
            self.verificationErrors = []
            self.accept_next_alert = True
    
        def test_moxian_selenium(self):
            driver = self.driver
            driver.get(self.base_url + "/")
            driver.find_element_by_link_text("Login").click()
            driver.find_element_by_link_text("Mobile Login").click()
            driver.find_element_by_id("txtAreaCode").clear()
            driver.find_element_by_id("txtAreaCode").send_keys("86")
            driver.find_element_by_id("txtMobliUsername").clear()
            driver.find_element_by_id("txtMobliUsername").send_keys("13133847086")
            driver.find_element_by_id("txtMobliPwd").clear()
            driver.find_element_by_id("txtMobliPwd").send_keys("123456")
            driver.find_element_by_css_selector("#btnLogin > span").click()
            driver.find_element_by_css_selector("#user_name > img").click()
            driver.find_element_by_css_selector("a.mopromo").click()
    
        def is_element_present(self, how, what):
            try:
                self.driver.find_element(by=how, value=what)
            except NoSuchElementException, e:
                return False
            return True
    
        def is_alert_present(self):
            try:
                self.driver.switch_to_alert()
            except NoAlertPresentException, e:
                return False
            return True
    
        def close_alert_and_get_its_text(self):
            try:
                alert = self.driver.switch_to_alert()
                alert_text = alert.text
                if self.accept_next_alert:
                    alert.accept()
                else:
                    alert.dismiss()
                return alert_text
            finally: self.accept_next_alert = True
    
        def tearDown(self):
            self.driver.quit()
            self.assertEqual([], self.verificationErrors)
    
    if __name__ == "__main__":
        unittest.main()
    展开全文
  • 软件测试(网页自动化测试实现)

    千次阅读 2013-05-14 00:35:56
    Watir 是一个使用 Ruby 实现的开源Web 自动化测试框架,相对于那些庞大的商业工具来说,它很小巧,也很灵活, 提供的功能也足够用。最近抽时间试用了一下,感觉还不错,准备下一步在公司推广使用。     因为 ...
  • selenium+jenkins网页自动化测试的构建

    千次阅读 2017-01-03 11:57:32
    jenkins+selenium可以做到对web自动化的持续集成。   Jenkins的基本操作:   一、新建视图及job 新建视图:       新建job:     可以选择构建一个自由风格的...
  • //窗口最大 操作已经打开的网页(浏览器) 在浏览器快捷方式 上 右键 -》属性-》目标 将Chrome浏览器的快捷方式 的 目标 修改为 C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe --...
  • 用Python开发网页自动化测试脚本

    千次阅读 2013-07-21 16:35:26
     而我们所希望的,是一种自动化回归脚本的方式,可以重复性的回归现有功能,并给出回归测试报告。  Python的世界有一个开源框架Splinter,可以非常棒的模拟浏览器的行为(从某种意义上也可以说是人的访问点击行为
  • Selium自动化测试有诸多不稳定
  • 任务:下载网页中链接所指向的文件 参考:File Downloads With Selenium — Mission Impossible?   过程: 阶段一: 概述:用 MS UI Automation 操作浏览器控件。 MS UI Automation + NRobotRemote + ...
  • Web自动化测试

    万次阅读 2020-07-30 15:55:11
    什么是Web自动化测试? 让程序代替人为自动验证web项目功能的过程 什么Web项目适合做自动化测试? 需求变动不频繁 项目周期长 项目需要回归测试 如何进行Web自动化测试?(主流测试工具) QTP(收费) QTP是商业...
  • wtd是基于selenium开发的,框架提供了很多通用的方法和接口,当然,开发的网页自动化case也可以直接使用webdriver的所有方法。接口测试case非常简单,只需要新建一个xml文件,里面替换掉接口地址,参数,期望返回...
  • 自动化测试,这是我从网上下载的东东,希望对大家有用!
  • c# 网页测试自动化测试框架WatiN

    千次阅读 2016-03-10 16:05:00
    WatiN是一个开源的用于Web测试自动化的类库,从watir中获得的灵感,使用C#开发。WatiN通过与浏览器的交互来实现自动化,使用起来具有轻便,简单的特点。目前最新版本为2.0,加入了对Firefox的支持,使其功能更趋于...
  • chrome自动化测试插件

    2019-04-04 13:41:44
    此款chrome插件适用于自动化测试,配合自动化测试框架selenium可以实现对相关页面全自动化的测试
  • Python uiautomation自动化测试

    千次阅读 2019-04-18 05:42:18
    简单测试了下, Windows 7环境,管理员权限,可以...这样的话,还是需要网页自动化测试工具。 cd scripts pip install uiautomation automation.py -h https://www.cnblogs.com/Yinkaisheng/p/3444132.html https:...
  • 常用自动化测试工具

    万次阅读 多人点赞 2019-03-04 15:19:20
    Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台,Appium 是一个C/S 架构,核心是一个 Web 服务器,它提供...
  • 自动化测试工具postman

    2018-11-13 21:32:48
    自动化测试工具postman,api接口测试,强大网页调试工具,提供功能强大的WebAPI&HTTP;请求调试。
  • IOS 自动化测试

    千次阅读 2020-03-25 16:48:49
    自动化测试节省时间节省真机的成本,而且更高效的覆盖所有的iOS机型测试,避免每次上线前重复的人工回归测试,保证每次上线的版本稳定运行。
  • wtd是基于selenium开发的,框架提供了很多通用的方法和接口,当然,开发的网页自动化case也可以直接使用webdriver的所有方法。接口测试case非常简单,只需要新建一个xml文件,里面替换掉接口地址,参数,期望返回...
  • 自动化测试工具包,Java包,可用于网页自动化测试,这里提供的是3.6.0版本的jar包,亲测可用,亲测可用亲测可用
  • 在这个自动化测试框架中。 在config目录中存放的是测试配置相关的文件,配置文件可以使用ini、xml、yml等文件类型。例如,要测试的网址、调试日志的文件名、日志的输出格式等 在data目录中存放的是需要测试的数据。...
  • 当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。 自动测试就是把以人为驱动的测试转化为机器执行的一种过程...
  • 手机自动化测试工具基本原理 一、首先说说手机自动化测试的原理 1、手机自动化测试的原理为PC上一个控制端(测试工具)与手机上的一个agent端,通过串口、USB或者无线方式将PC与手机终端相连,然后应用测试工具向...
  • 前端自动化测试实践

    万次阅读 多人点赞 2018-10-31 23:35:49
    通过前端自动化测试,来解放自我
  • 一、前言 最近有童鞋和我抱怨,说很...当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。 自动测试就是把以...
  • 自动化测试的测试类型

    千次阅读 2018-01-04 17:34:06
    1、测试静态内容静态内容测试是最简单的测试,用于验证静态的、不变化的UI元素的存在性。比如每个页面都有其预期的页面...若你的网页设计师经常改变链接,或者文件不时被重定向,链接测试应该实现自动化静态内容测试...
  • Web页面功能自动化测试是亿能测试多名老师共同编写,讲述使用QTP进行Web页面自动化测试,案例分析 – Discuz!NT自动化测试
  • 自动化测试方案

    千次阅读 2021-09-24 09:52:16
    自动化测试体系方案 方案1全编写代码流程 UI自动化: 使用python或java,配合selenium库及pytest框架做UI自动化测试。(通过selenium的webdriver驱动,驱使浏览器) 1. WebDriver API(基于Java、Python) java...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,364
精华内容 62,145
关键字:

网页的自动化测试