新手搭建 web 自动化遇到的坑

image.png

现在自动化测试越来越火,企业在招聘人才的时候明明是招的功能测试。

但是面试的时候还是问到了,同学,你会不会自动化呀?不会呀?那可能不是很适合我们这个岗位。

然后你的内心 os 是 MLGB,你不是招功能嘛?浪费 LZ 时间。

image.png

现实很残酷,现在测试的要求在不断提升,不会点自动化还真不好混。

目前市面上会全栈自动化的人才才是最吃香的

因为一般公司项目除了 Web 端还会有移动端,可能还会有接口项目,所以企业如果有项目自动化测试需求肯定是更青睐于自动化全能型人才的。

image.png

image.png

那么问题来了,自动化怎么学呢?

很多同学都是买书或者直接网上百度学习教程,殊不知网上的很多内容都是如出一辙,而且很多教程还是错的,并不能解决你的问题。

最恼火的是很多自动化框架的报错提示很不友好(比如 selenium),很多情况从报错日志里根本就看不出来到底是什么问题。

因为这些环境问题把很大一部分同学挡在了自动化学习的门外。

带兵打战,粮草先行!

image.png

image.png

要做 Web 自动化,第一步要做的事去搭建好自动化环境,而搭建 Web 自动化测试环境也并没那么简单,因为环境依赖性很强。

比如:浏览器版本,浏览器的驱动版本,selenium 的版本,任何一个环境出了问题都有可能导致你的浏览器跑不起来。

今天我们要说的是通过 Java 这一门编程语言实现的 Web 自动化,浏览器无非就是现在比较主流的几大浏览器,IE,Chrome,Firefox。

image.png

首先是项目环境搭建

大家在搭建 java+selenium 的自动化测试环境时,可以使用 maven 项目。

现在很多公司做项目都会选择一个合适的项目构建工具,而 maven 就是这样一个。

使用它可以方便的管理你的项目,编译代码,打包,在线管理项目依赖,支持项目模块化等都是它可以提供的功能。

1.以下是创建 maven 项目的步骤。

在 eclipse 中 new--》maven project--》next--》create a simple project--》填好 group id,artifact id,packaging--》finish。

注意:

group id 可以随便初始化(eg:com.ningmengban);

artifatc 同样可以随意初始化(eg:auto);

packaging 方式选择 jar 就行;

另外一个需要注意的就是最好下载一个版本比较新的 eclipse,因为它一般都已经集成了 maven 插件。

image.png

2. 创建好的 maven 项目

如下图,接下来就是去配置它的一个重要的配置文件:pom.xml

image.png

编辑 pom.xml 添加以下依赖就可以自动去 maven 的中央仓库下载到 selenium 的框架包到咱们的项目中,如下图。

image.png

然后我们就会发现 3.7.1 这个版本的 selenium 框架包就被下载到我们的项目中了,如下图,大家就再也不需要自己百度一个个去找这些框架包了。

image.png

到这一步咱们的项目环境已经搭建好了,接下来就对号入座找坑了,大家看看以下哪一个坑自己曾经落坑过。

image.png

首先来看 IE 下的坑

1. 缺少 IE 浏览器驱动包

image.png

解决办法:

往项目中添加 IE 驱动包,并加载驱动的配置。

System.setProperty("webdriver.ie.driver", "/IEDriverServer.exe");

image.png

2. 需要忽略浏览器保护模式的设置

image.png

解决办法:

DesiredCapabilities desiredCapabilities = new DesiredCapabilities();

desiredCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

3. 浏览器缩放级别设置不对导致的

image.png

解决办法:

desiredCapabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

4. 不是因为页面没加载完引起的元素找不到问题

image.png

解决办法:

创建驱动的时候,配置中直接指定一个初始化页面。

desiredCapabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "http://www.baidu.com");

以上就是韬哥在搭建 IE 浏览器的 Web 自动化环境时掉过的坑,看一下你现在在哪一个坑,然后试一下我给出来的解决方案看能不能帮你脱坑。

image.png

接下来再来看下谷歌浏览器 Chrome 下的坑

1. 缺少 Chrome 驱动包

image.png

解决办法:

往项目中添加 Chrome 驱动包,并加载驱动的配置。

System.setProperty("webdriver.chrome.driver", "/chromedriver.exe");

image.png

2. Chrome 浏览器版本过高,与驱动包版本不适配。

具体每个版本的驱动包适配哪些版本的浏览器大家可以去参考 selenium 官网。

image.png

解决办法:

降级 Chrome 浏览器版本

image.png
今天的分享就是这些了,关于火狐浏览器下的自动化测试环境搭建可能存在的问题,在下一次分享中会为大家一一呈现,欢迎大家继续关注。

回帖
请输入回帖内容 ...