protractor端到端测试简介

安装依赖

  1. protractor
npm install -g protractor
  1. karma-jasmine
 npm install --save-dev karma-jasmine
  1. javaJDK

    http://blog.csdn.net/bingiser/article/details/53375282

  2. webdriver-manager
webdriver-manager update

文件

  1. test.js 测试文件
  2. protractor_conf.js protractor配置文件

启动测试

  1. 一个命令窗口
webdriver-manager start
  1. 第二个命令窗口
protractpr protractor_conf.js

protractor api

http://www.protractortest.org/#/api

  1. browser.get('http://baidu.com')导航到当前页面
  2. element找到元素
  3. element.all找到元素集合
  4. by 查找元素
    • by.binding : ng-bind, {{}}
    • by.model : ng-model
    • by.repeater : ng-repeater
    • by.id : id选择器
    • by.css : css选择器
    • Array.get(2) : 选择第2个
  5. click 点击事件
  6. sendKeys 书写内容
  7. 获取信息,判断
    • getText 获取文本
    • getSize 获取尺寸
    • getAttribute 获取属性
    • isEnabled
    • isSelected
    • isDisplayed
  8. getTitle
  9. sleep
  10. brower.wait()等待某元素出现
browser.wait(function(){return browser.isElementPresent(by.model("password"));
},20000);

jasmine api

https://jasmine.github.io/2.0/introduction.html

  1. expect 断言
  2. 验证
  • toEqual等于
  • toBe 相当于===
  • toContain包含,用于数组,字符串
  • toBeLessThan 小于,用于数字
  • toBeGreaterThan 大于
  • toMatch 正则匹配
  • toBeNull 与null比较
  • toBeTruthy 与布尔值比较;

其他

  1. 设置浏览器窗口大小位置
 capabilities: {'browserName': 'chrome',"chromeOptions" : {args: ["--window-size=300,300","--window-position=300,300"],}},
  1. javaJdk和webdriver-manager

应该先安装javaJdk,再执行webdriver-manager update;

  1. 文件上传
element(by.name('upload_file')).sendKeys("C:\\img\\a.jpg");

用选择器获取到文件上传的input标签,然后sendKeys().里面是文件的路径,注意目录分隔符,需要先转译才能用即\

  1. 清除input标签里的内容用clear
  2. 键盘事件还是用sendKeys

转载于:https://www.cnblogs.com/bridge7839/p/7089286.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arm linux 开机电路_ARM Linux启动过程分析

摘要:嵌入式Linux的可移植性使得我们可以在各种电子产品上看到它的身影。对于不同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例,详细分析了系统上电后bootloader的执行流程及ARM Linux的启动过程。关键词:AR…

委外订单_ERP软件教程:金蝶ERP的委外加工业务流程(一)

ERP软件教程:金蝶ERP的委外加工业务流程关注我,我将定期分享更多的ERP解决方案转发关注并私信我,了解更多的解决方案及操作方法哦欢迎大家随时咨询关于金蝶ERP的任何问题!一、应用软件版本:金蝶KIS旗舰版6.0二、应用场…

1+2+3+n;1*1*2*n

#123...100# sum 0# n 1# while n < 101:# sum sum n# n 1# print(sum)#123...100# sum 0# for n in range(1,101):# sum sum n# print(sum)#1*1*2*3..*10# sum 1# n 1# while n < 11:# sum sum*n# n 1# print(sum)转载于:https://www.…

python中popen的用法_python中的subprocess.Popen()使用

从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去&#xff0c;还可以得到子进程的返回值。subprocess意在替代其他几个老的模块或者函数&#xff0c;比如&#xff1a;os.system os.spawn* os.popen* popen2.* commands.*一、…

盒子在页面内居中

在布局页面的时候&#xff0c;有时候会遇到让一个盒子水平和垂直方向上都居中,如果手动调整盒子的位置&#xff0c;未免太复杂了一些&#xff0c;下面介绍两种方法&#xff0c;很轻松就能做到盒子的水平和垂直方向的居中&#xff1a; 定位的盒子居中 第一种方法&#xff1a;需要…

python自定义事件event的含义_python使用多线程与自定义event更新tinter的内容

开启一个线程&#xff0c;监听命令行的输入&#xff0c;得到字符串后向tkinter发送<>事件。另一方面&#xff0c;tkinter窗口的listbox绑定了<>事件&#xff0c;并把字符串加入到列表中显示出来。关闭窗口后&#xff0c;不再监听命令行的输入&#xff0c;也不再发送…

stm32f401 边沿捕获_STM32_capture 基于 设计的输入捕获实验,通过对边沿跳变的采集,得到外部接口 据。 SCM 单片机开发 261万源代码下载- www.pudn.com...

文件名称: STM32_capture下载 收藏√ [5 4 3 2 1 ]所属分类: SCM开发工具: Visual C文件大小: 447 KB上传时间: 2016-07-11下载次数: 0提 供 者: 刀锋意志详细说明&#xff1a;基于STM32设计的输入捕获实验&#xff0c;通过对边沿跳变的采集&#xff0c;得到外部接口的数…

【市场调研与分析】Intel发力移动安全领域——By Me at 20140613

【市场调研与分析】Intel发力移动安全领域 第一部分 Intel收购McAfee情况调研 1.1 Intel收购McAfee综述 2010年8月&#xff0c;英特尔公司以76.8亿美元价格收购安全软件供应商McAfee公司&#xff0c;继续向嵌入式前沿扩张&#xff0c;特别是手机市场。但这笔让人惊讶的交易仍存…

hadoop2 Ubuntu 下安装部署

搭建Hadoop环境( 我以hadoop 2.7.3 为例, 系统为 64bit Ubuntu14.04 ) hadoop 2.7.3 官网下载 , 选择自己要安装的版本。注意每个版本对应两个下载选项source和binary&#xff0c;我们暂时下载binary,我们下载编译好的文件hadoop-2.7.3.tar.gz , 解压后为 hadoop-2.7.3 , 这个可…

centos 如何登陆mysql_CentOS 配置MySQL允许远程登录

Mysql为了安全性&#xff0c;在默认情况下用户只允许在本地登录&#xff0c;可是在有此情况下&#xff0c;还是需要使用用户进行远程连接&#xff0c;因此为了使其可以远程需要进行如下操作&#xff1a;一、允许root用户在任何地方进行远程登录&#xff0c;并具有所有库任何操作…

idea 多模块build_[史上最详细]springboot创建基于maven的多模块项目

点击蓝字 关注我们 背景项目为什么需要用多模块&#xff1f;springmvc难道还不够我们平常使用吗&#xff1f;设计模式真言&#xff1a;“高内聚、低耦合”&#xff0c;springmvc项目&#xff0c;一般会把项目分成多个包&#xff1a;controller、service、dao、util等&#xff0…

工作43:设计思路

我一开始的想法是&#xff0c;custom table里面只放和表格本身相关的方法&#xff0c;比如选中行&#xff0c;分页和表头配置啥的 其他的和数据相关的方法都放到父组件处理

python脚本监控mysql数据库_Python脚本监控mysql数据库,Python脚本监控mongo数据库

任务&#xff1a;应帅气的领导要求&#xff0c;需要监控生产环境mysql和mongo数据库服务。不仅要connect successful还要进行数据交互进一步确认数据库服务正常。思路&#xff1a;mysql和mongo 数据库ip、端口、用户名、密码、认证库(mongo)分别写在mysqldb_message.txt和mongo…

Vue中 $ref 的用法

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用&#xff0c;引用信息就是元素; 如果用在子组件上&#xff0c;引用信息就是组件实例 注意&#xff1a;只要想要在Vue中直接操作DOM元素&#xff0c;就必须用r…

Nginx服务器之基础学习

一、Nginx介绍 nginx&#xff1a;Nginx是一种软件服务器&#xff08;轻量级&#xff09;&#xff0c;故它最主要的功能就是可以与服务器硬件结合&#xff0c;我们的应用程序可以放在nginx服务器上进行发布&#xff0c;已达到让网民浏览的效果。除此自外&#xff0c;Nginx是一种…