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

本贴最后更新于 1373 天前,其中的信息可能已经物是人非

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

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