F2eTest和uirecorder自动化测试环境部署填坑记录
坑1:尝试部署的时候只在opennode.bat里面填写了两个浏览器,测试通过后再增加其他浏览器,页面上一直不显示。
填坑:需要清空数据库里的`wd_browsers`和`wd_nodes`表,然后重启2008,数据库会重新加载新的节点信息。(此坑的解决方法在视频教程里,无文字版)
坑2:远程连接问题:在2008启动之后,node暂未启动前,f2etestweb页面可以打开3个浏览器页面。当webdriver云上显示node已经启动之后,f2etestweb页面只能可以打开1个浏览器页面,再多就会报连接错误。如果此时再通过远程桌面去连接2008,f2e上一个页面也打不开了。
填坑:在运行中运行gpedit.msc,在组策略中对位于“计算机配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\连接”中,限制连接数量中进行配置;改大一些或者改成999999即可。然后在cmd里输入gpupdate更新一些策略。但据说这样只能维持120天,之后再说吧!
坑3:uirecorder 初始化之后,出现JSON解析失败!的错误!
填坑:编辑config.json,添加以下认证参数的时候,记得在上一行的结尾处增加一个英文逗号!!!
坑5:国内npm节点非常慢,导致安装依赖失败,但是提醒又不明显,导致问题排查难度大。
填坑:
幸运的是,国内有几个镜像站点可以供我们使用,本人在使用 http://www.cnpmjs.org/
速度非常快,镜像站会实时更新,为我们节省了好多时间.如何给本机换源呢?
(1)通过 config 配置指向国内镜像源
npm config set registry http://registry.cnpmjs.org //配置指向源 npm info express //下载安装第三方包
(2)通过 npm 命令指定下载源
npm --registry http://registry.cnpmjs.org info express
(3)在配置文件 ~/.npmrc 文件写入源地址
nano ~/.npmrc //打开配置文件 registry =https://registry.npm.taobao.org //写入配置文件
坑6:有时候npm会提示找不到..../package.json。
填坑:npm init -f 强制生成该文件,然后再安装其他依赖
坑7:更新selenium-server版本后selenium无法启动
填坑:需要修改如下路径为新版本的文件名
坑8:如果系统启动后在selenium server里报如下端口被占用的错误
填坑:把服务器会话设置这里改成是就可以了。
坑8:更新了最新版本的uirecorder之后要增加chai依赖包
填坑:
#npm install chai --save-dev
uirecorder 2.0使用了jwebdriver 2.0,不需要generator,还需要更新一下jwebdriver
#npm install jwebdriver
坑9:app下的bat文件编码不是ASI导致启动浏览器时有乱码即执行不成功,使得局域网代理添加失败。
填坑:把bat文件另存为ANSI编码之后解决问题,已建议f2etest作者更新相关文件的编码格式,目前已上传到GitHub。但是我目前通过该方式切换host还是不成功,报API错误。
坑10:在浏览器云里打开360浏览器,进入界面后一会就自动注销
填坑:在360se.bat文件的末尾加上:pause,亲测解决!
坑11:浏览器安装目录不对导致无法使用uirecorder。
填坑:360浏览器要使用uirecorder进行调用,需要放在C:\360\360se6\Application\360se.exe目录下,把原路径下的360浏览器相关文件复制到该位置,自动化执行成功。
但是360chrome浏览器没有成功。
firefox浏览器需要放在C:\Program Files\Mozilla Firefox\firefox.exe。不能放在C:\Program Files (x86)\Mozilla Firefox\firefox.exe。firefox还有个问题是不支持鼠标movemouse操作,所有相关操作都执行失败,从网上查了一下是firefox本身的问题,firefox团队已经在着手解决,然后到目前已经大半年了问题依然未解决。
坑12:本地代理模式切换host只适用于浏览器云,在webdriver云里并不生效.
解释:因为webdriver云并不通过browsers.bat去启动浏览器。在进行自动化测试前,在项目目录(CMD命令执行目录)下新建一个hosts文件,然后启动的测试就是在改hosts下进行的,测试完成自动恢复原hosts。
坑12:当webdriver使用多个服务器作为节点的时候,除了主服务器的桌面可在node列表里打开,其他服务器上的节点都无法连接,报错信息如下,导致无法查看自动化的实时运行状态。
错误信息:You do not have permission to access this connection. If you require access, please ask your system administrator to add you the list of allowed users, or check your system settings.
解决:查看tomcat日志,
Nov 21, 2016 5:59:29 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Connection id=172.16.85.12 not found.
Nov 21, 2016 5:59:29 PM org.slf4j.impl.JCLLoggerAdapter error
SEVERE: Error connecting WebSocket tunnel.
可以看到连接不上172.16.85.12,解决方式为在vim /etc/guacamole/noauth-config.xml里为172.16.85.12单独新建一个服务器。原来这里已经有f2etest-ie9指向172.16.85.12,但是在节点处无法访问桌面,添加红框1中的内容之后,重启tomcat,再次访问该服务器上的节点都能成功。
坑13:firefox浏览器在uirecorder回放的时候一直失败
填坑:下载 ESR 延长支持版 Firefox 火狐浏览器(45.5 简体中文)
selenium使用2.53.1版本
http://selenium-release.storage.googleapis.com/index.html?path=2.53/
完美解决!
(更新:最新版本的geckodriver.exe是支持最新版本的firefox浏览器的,主要在下载geckodriver.exe的时候选择对应的32或64位版本,要与下载的firefox版本对应。firefox官网默认提供的是32位版本,64位版本在下方)
坑14:节点的selenium server界面提示Report to f2etest failed!
填坑:
因为大部分人部署f2etest是在内网进行的,使用的IP地址一般没有经过DNS解析,在sever 2008上是访问不到的,建议2008机器上使用host的位置都填写IP和端口
坑15:今天在群里遇到一个朋友反馈hostsshare无法使用。
启动代理的时候提示
非代理模式提示hostsshare api 连接失败
填坑:查看hostsshare.bat里已添加端口,修改编码为ASNI也不管用。
后直接请求IE浏览器INTERNET选项里的局域网设置中的代理连接
,得到如下错误信息:
原来是文件目录权限错误,修改权限后hosts可以修改成功。
遗留问题1:f2etest页面下Opera无法上网,所有页面都显示正在载入,包括设置页面。但是桌面模式下完全没问题。如果你有解决方案的话,希望能在下面回复和我交流一下。
F2eTest和uirecorder自动化测试环境部署填坑记录的更多相关文章
- webapp填坑记录[更新中]
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- webapp填坑记录
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- Phoenix踩坑填坑记录
Phoenix踩坑填坑记录 Phoenix建表语句 如何添加二级索引 判断某表是否存在 判断索引是否存在 Date类型日期,条件判断 杂项 记录Phoenix开发过程中的填坑记录. 部分原文地址:ph ...
- Kafka踩坑填坑记录
Kafka踩坑填坑记录 一.kafka通过Java客户端,消费者无法接收消息,生产者发送失败消息 二. 一.kafka通过Java客户端,消费者无法接收消息,生产者发送失败消息 在虚拟机上,搭建了3台 ...
- Linux踩坑填坑记录
Linux踩坑填坑记录 yum安装失败[Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.aliyun.com'" ...
- 测试环境部署之填坑记录-Expected one result (or null) to be returned by selectOne(), but found: 2
最近在部署性能测试环境的时候,环境 部署好以后,部分功能出现接口查询异常,问题现象: 拿到错误,肯定要先判断是前端还是后端代码的问题,最简单的方式是抓包查看: 以上是报错页面捕获的接口报错,很明显的接 ...
- Hexo博客skapp主题部署填坑指南
相信大家都很喜欢 hexo skapp 的主题,由于作者采用结巴分词,加上需要依赖各种各样的环境 所以可能大家踩过很多坑,也许每个人踩得坑不一样,这里使用 Docker 容器 centos 来部署, ...
- ubuntu 14.04中安装 ruby on rails 环境(填坑版) 呕血推荐
环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04 开发相关: ruby 2.2.0 rails 4.2.0 sublime text 3 本文说明:所有的命令均在$ 之后,若 ...
- MVC5项目转.Net Core 2.2学习与填坑记录(1)
流程都是自己摸索,错误地方随便指正... 老项目过于臃肿,并且所有请求都是提交到一个api中,这样当api挂掉的时候,基本所有的项目都瘫痪掉了. 在4月底的时候,下决心将项目用微服务进行重写,刚开始的 ...
随机推荐
- java类加载机制及方法调用
类加载机制 概述 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation).解析(Resoluti ...
- J2EE企业级应用架构
一.企业级应用架构解析 应用特点 多环境多系统的交互 海量数据.高并发[用户访问量].高TPS[每秒吞吐量] 安全等级高 自动化集群管理 架构原则 CAP原则(一致性[数据变动要同步].可用性[随着数 ...
- MySql的InnoDB存储引擎--索引
索引分类: 1.聚集索引:索引顺序与物理顺序一致. MySql 的 InnoDB 中,主键索引就是聚集索引.好处是,进行搜索的时候,因为索引和物理顺序一致,所以找数据的时候更快. 2.非聚集索引:索引 ...
- python学习之老男孩python全栈第九期_day022作业
1. 写一个求正方形周长和面积的类 class Square: def __init__(self, length): self.length = length def area(self): ret ...
- ES6学习笔记(六)-数组扩展
- 有关动态规划(主要是数位DP)的一点讨论
动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法.20世纪50年代初美国数学家在研究多阶段决策过程的优化问题时, ...
- RGB与INT类型的转换
开发时遇到的问题,设置图层样式时颜色的返回值是uint,一时不知改怎么转换为C#常用的RGB值了. 一番百度,结果如下: RGB = R + G * 256 + B * 256 * 256 因此可得到 ...
- 简单使用git上传代码
1,首先在github上面创建一个仓库 2,在本地目录中右击,选择git bash 3,将github上的仓库克隆到本地目录,(这个就是您的仓库) git clone https://github.c ...
- Cloudera Manager5安装总结遇到问题及解决办法 CDH 5.8 on CentOS 7
问题导读:1.Cloudera Manager在线安装你认为有什么优点和缺点?2.Cloudera Manager安装过程中遇到,你认为该如何解决?3.在线安装addr.arpa domain nam ...
- js 正则常用函数
正则表达式中,需要转义的字符: * . ? + $ ^ [ ] ( ) { } | \ / let reg = /\d+/g let str = 'ad/23/dfww/454/6' 1. reg.t ...