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月底的时候,下决心将项目用微服务进行重写,刚开始的 ...
随机推荐
- html制作chm格式开源文档
在主界面点击生成器,找到网页所在的文件夹. 然后用编译,还是找到网页文件夹.根据需要设置.TOC 那一项是目录,请根据需要修改. 特别要注意的是,预设那里,点击那个配置图标,会打开如下图的预设编辑器. ...
- ASP.NET 表单验证方法与客户端(浏览器)服务器交互机制的故事
想到这个问题完全是一个意外吧,是在寻找另外一个问题答案的过程中,才对验证方法与浏览器服务器交互机制的关系有了清晰的认识. 先说下验证方法,验证方法分为前台验证和后台验证. 前台验证就是类似jQuery ...
- 七、curator recipes之阻塞队列SimpleDistributedQueue
简介 Java在单机环境实现了BlockQueue阻塞队列,与之类似的curator实现了分布式场景下的阻塞队列,SimpleDistributedQueue 官方文档:http://curator. ...
- 【原】Java跨域以及实现原理
前言:最近研究了一下跨域,主要是jsonp的实现,经过测试后总结如下: 一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨 ...
- SpringFramework中重定向
需求: 需要在两个@Controller之间跳转,实现重定向 解决: @PostMapping("/files/{path1}") public String upload(... ...
- Hunger Snake 2
- HDU 2578(二分查找)
686MS #include <iostream> #include <cstdlib> #include <cstdio> #include <algori ...
- 线程(Thread)和异常
线程Thread 实现多线程有两种方式: 1.继承Thread类(本质也是实现Runnable接口的一个实例) Thread类源码 public class Thread implements Run ...
- php格式化保留2位小数
<td align="center"><?php echo sprintf("%.2f",$v[r][red_bag_money]);?> ...
- 教程:让你的表单升级到CSS3和HTML5客户端验证
今天我们一起来看看如何创建一个实用并且功能强大的表单,表单使用如今最热门的技术HTML5和css3来创建,并且可以通过HTML5进行客户端验证. 查看预览下载附件 第一步:策划表单功能 首先,我们得为 ...