51Testing软件测试论坛

标题: 【你来问我来答第70期】:如何自学web自动化测试(活动结束) [打印本页]

作者: lsekfe    时间: 2016-6-1 09:52
标题: 【你来问我来答第70期】:如何自学web自动化测试(活动结束)
[attach]101363[/attach]
论坛ID:山丘的测试之道
真实姓名:邱卫武
现任公司:江苏嬉戏谷科技有限公司
现任职位:测试主管
论坛职务:Selenium 版块版主
工作经验:拥有大型管理网站的黑盒测试,基于selenium的自动化测试以及C/S架构的客户端测试,目前主要负责测试管理方面的工作 ,对于接口自动化测试有一定的了解。


各位会员可以在6月10日前以回帖的方式向客座专家提问。
(请大家围绕本期客座专家的擅长领域进行提问、探讨)
客座专家将在6月11日—6月30日为大家集中解答。
机会难得,欢迎大家踊跃提问!




作者: 拉美西斯1    时间: 2016-6-1 14:24
请问老师,做测试已经快4年了,想转自动化测试方向,有自学selenium、Python和java(全书看完,但是只会基础) ,但是只会简单的录制、回访、修改代码,但是不知道如何搭建框架,不会做容错代码,代码的集成很差,该如何提高呢,想系统性的学习,不知道入手
作者: one_tester    时间: 2016-6-2 11:06
同上  不太懂测试框架  代码的性能优化也很薄弱  正在通过读书学习
作者: ZKD_xr    时间: 2016-6-2 11:42
老师有没有什么关于selenium的比较好的入门书籍,可以推荐的。因为现在后面工作要开始用了,但是昨天花了半天在看,很迷茫,看不懂呢
作者: cs3423493    时间: 2016-6-2 11:45
虫师有一本python selenium的书籍   讲的是常用的
作者: 测与试的辩证法    时间: 2016-6-2 11:52
请问老师,接口自动化测试是如何展开实际工作的?
作者: hzieechenwei    时间: 2016-6-2 12:57
我们有一个web application前台是基于Angular2的,请问如何写代码实现WaitForAgnualrComplete? Protractor项目有这样的代码可以实现对Angular job的等待,但是我通过查看源码还未找到关键的代码跟实现逻辑,谢谢。
作者: huilin.gao    时间: 2016-6-2 16:40
测与试的辩证法 发表于 2016-6-2 11:52
请问老师,接口自动化测试是如何展开实际工作的?

soapui
作者: huilin.gao    时间: 2016-6-2 16:41
测与试的辩证法 发表于 2016-6-2 11:52
请问老师,接口自动化测试是如何展开实际工作的?

一般用soapui测试,你可以有针对了解下
作者: 测与试的辩证法    时间: 2016-6-3 10:04
huilin.gao 发表于 2016-6-2 16:41
一般用soapui测试,你可以有针对了解下

收到,谢谢~~~~
作者: 18612201214    时间: 2016-6-5 13:18
之前我一直在做功能测试,已经工作几年了,现在进一步的搞升自己,向自动化发展。先说下自己的情况,没有写过代码,学习过HTML,CSS

在网上找的Selenium的学习资料都太零散,没有一个比较系统的资源,学习的效率太低了,想问下,Selenium和什么脚本语言搭配更容易新手学习的?
作者: 18612201214    时间: 2016-6-5 13:19
之前我一直在做功能测试,已经工作几年了,现在进一步的搞升自己,向自动化发展。先说下自己的情况,没有写过代码,学习过HTML,CSS

在网上找的Selenium的学习资料都太零散,没有一个比较系统的资源,学习的效率太低了,想问下,Selenium和什么脚本语言搭配更容易新手学习的?
作者: simeng1128    时间: 2016-6-7 15:00
请教老师和各位同行一个问题:
有个嵌入式产品,界面的操作菜单是用miniGUI开发的,目前测试人员是本地手动进行配置和操控的,效率低,测试也比较枯燥。现在想对界面的操作和一些参数配置进行自动化。
本人只做过web UI的自动化,对于嵌入式系统不了解,不知道大家有没有嵌入式界面的自动化测试经验,能否推荐一些比较好的方案,或者工具?
作者: tanshunsky    时间: 2016-6-7 15:29
公司没有发展自动化测试,自己很想做自动化测试,请问如何发展呢!
作者: sunshine_cjy    时间: 2016-6-8 15:31
请问老师,大家都说黑盒测试很简单,如何衡量对黑盒测试做好的程度。
作者: 山丘的测试之道    时间: 2016-6-10 00:47
先统一回复一下,
   1号开始到现在,一直忙于买房子的事情,没有登录论坛,所以一直没有回复,很抱歉。
   接下来我会一一回复,可能有些地方,我也不太懂,还请大家多多包涵,这就是一次测试交流。大家一起探讨。
   谢谢
作者: 山丘的测试之道    时间: 2016-6-10 00:59
拉美西斯1 发表于 2016-6-1 14:24
请问老师,做测试已经快4年了,想转自动化测试方向,有自学selenium、Python和java(全书看完,但是只会基 ...

您好,
我的理解是,
1、编程是基础,不仅仅是看完一本书,需要弄清楚,自动化测试需要的编程知识,因为刚开始,不可能将一门语言学的多么精通,将一些常用的编程基础学明白就行。
2、不建议再做录制回放的形式的自动化
3、熟悉selenium 2 的 API
4、搭建框架,首先要明白框架是干什么的,一般自动化的框架需要哪些东西,然后才是如何去优化框架,这样循序渐进,对于框架的理解也是更有用的。
5、selenium自动化是基于UI层的自动化,所以建议去学习 HTML,CSS,JS的相关知识
6、系统的学习,推荐两个教程:selenium私房菜跟webdriver拾级而上
作者: 山丘的测试之道    时间: 2016-6-10 00:59
one_tester 发表于 2016-6-2 11:06
同上  不太懂测试框架  代码的性能优化也很薄弱  正在通过读书学习

在回复2楼中有说,可以借鉴下。
作者: 山丘的测试之道    时间: 2016-6-10 01:02
ZKD_xr 发表于 2016-6-2 11:42
老师有没有什么关于selenium的比较好的入门书籍,可以推荐的。因为现在后面工作要开始用了,但是昨天花了半 ...

《Selenium自动化测试指南》
网上教程的话,selenium私房菜,webdriver拾级而上等等,都可以。
其实建议先学习编程,熟悉一门语言,再去看selenium的相关教程或者书籍
作者: 山丘的测试之道    时间: 2016-6-10 01:08
测与试的辩证法 发表于 2016-6-2 11:52
请问老师,接口自动化测试是如何展开实际工作的?

接口自动化,工具的话,可以使用soapui,
自己写框架的话,其实就是通过网络协议去请求方法,
实际工作中,跟开发沟通,确认好接口的地址,请求方法,返回值等,一般会有接口文档,可以要过来看看。
然后就是通过协议(http/webservice)去请求需要测试的接口,对于预期结构跟实际返回的结果来确认接口是否正常。
作者: 山丘的测试之道    时间: 2016-6-10 01:16
18612201214 发表于 2016-6-5 13:18
之前我一直在做功能测试,已经工作几年了,现在进一步的搞升自己,向自动化发展。先说下自己的情况,没有写 ...

1、什么编程语言与selenium更搭,关键看自己,自己对于什么语言感兴趣,或者什么语言适合自己就选择什么语言,一般,Java,Python,Ruby等等。可以先了解了解,再选择一门,或者直接选择一门语言去学,只有实际用上了,才能感受到那种更适合自己。
2、有过HTML,CSS的学习。对于selenium自动化测试而言还是要好很多的,基于UI层的自动化,需要这些
3、推荐教程:selenium私房菜,webdriver拾级而上,
4、关键是实践,可能selenium的每一个api看起来都不难,但是在实际用的时候,总是会碰到很多问题,这样效率才会更高一点
作者: 山丘的测试之道    时间: 2016-6-10 01:18
simeng1128 发表于 2016-6-7 15:00
请教老师和各位同行一个问题:
有个嵌入式产品,界面的操作菜单是用miniGUI开发的,目前测试人员是本地手 ...

很抱歉,嵌入式的系统,还没有多少了解,不能够提出什么意见
作者: 山丘的测试之道    时间: 2016-6-10 01:25
tanshunsky 发表于 2016-6-7 15:29
公司没有发展自动化测试,自己很想做自动化测试,请问如何发展呢!

首先,在工作之余,自学自动化测试。(重点)
然后,评估目前公司的产品是否符合自动化测试的要求。
若符合,可以跟你的领导交流启动自动化测试,并争取成为做自动化测试的人选,在实践中进步,巩固自己所学的知识。
若不符合,可以跟你的领导交流将产品先部分功能启动自动化。
启动自动化,需讲明自动化的优劣势,开展自动化测试能给公司带来什么,需要的资源,成本是什么。
作者: 山丘的测试之道    时间: 2016-6-10 01:33
sunshine_cjy 发表于 2016-6-8 15:31
请问老师,大家都说黑盒测试很简单,如何衡量对黑盒测试做好的程度。

衡量黑盒测试做好的程度最好的方法就是,线上版本的质量。
黑盒测试,入门很简单。但是要做好很难。
在测试的过程中,衡量黑盒测试是否做好,个人觉得,测试用例的覆盖程度,测试用例的通过率。
设计测试用例需要对于测试用例设计方法,以及业务/需求有着充分的了解,测试用例需要覆盖每一个显式需求,还需要根据自己的业务能力去挖掘隐式需求,尽可能的覆盖更多的业务场景,功能,最后项目相关人员评审,得到最终版本的测试用例。
在测试过程中,要做好测试用例的补充,维护的工作
上线前,确保每一个测试用例都是通过的。
作者: 山丘的测试之道    时间: 2016-6-10 01:36
hzieechenwei 发表于 2016-6-2 12:57
我们有一个web application前台是基于Angular2的,请问如何写代码实现WaitForAgnualrComplete? Protractor ...

抱歉,没太懂意思,
  是否是要实现,Angular JS的等待?
作者: 山丘的测试之道    时间: 2016-6-10 01:38
很抱歉,这么久才来回复大家,
这段时间在老家忙于买房子的事情,所以耽搁了,实在不好意思。
接下来的时间,我会逐一回复大家
作者: 拉美西斯1    时间: 2016-6-12 17:02
山丘的测试之道 发表于 2016-6-10 00:59
您好,
我的理解是,
1、编程是基础,不仅仅是看完一本书,需要弄清楚,自动化测试需要的编程知识,因 ...

非常感谢老师的回答,另外想问下,对于测试来说学习java还是Python比较好呢,感觉java比较重型
作者: zhyrachel    时间: 2016-6-13 14:24
楼主很敬业,偶看到提问和回复就能找到自己想问的答案
作者: yu1984    时间: 2016-6-13 16:04
请教大家:我用 ride ,定位元素用总是定位不到

*** Test Cases ***
login
    Open browser    http://server9.qa-53.com/login    ie
    Input Text    xpath=/html/body/div[2]/div[2]/div[1]/form[1]/div[1]/ul/li[2]/input[@id='userName' and @tabindex='1']    hello33
    Input Password    Xpath=//input[@id='userPass' and @tabindex='2']    hello1234
    Click Button    loginButton

================================
这是我copy出来,帮我看下我是不是xpath写的不对,运行时提示:Message: The xpath expression '/html/body/div[2]/div[2]/div[1]/form[1]/div[1]/ul/li[2]/input[@id='userName' and @tabindex='1']' cannot be evaluated or does notresult in a WebElement
作者: 山丘的测试之道    时间: 2016-6-14 10:18
拉美西斯1 发表于 2016-6-12 17:02
非常感谢老师的回答,另外想问下,对于测试来说学习java还是Python比较好呢,感觉java比较重型

客气了~
其实语言的选择,关键是看你自己,或者根本不用选,先找一门马上开始学,先实践起来,因为以后,你肯定会两门语言都会学的,然后再根据情况选择适合项目的开发语言。
作者: 山丘的测试之道    时间: 2016-6-14 10:19
zhyrachel 发表于 2016-6-13 14:24
楼主很敬业,偶看到提问和回复就能找到自己想问的答案


谢谢。
作者: 山丘的测试之道    时间: 2016-6-14 10:19
zhyrachel 发表于 2016-6-13 14:24
楼主很敬业,偶看到提问和回复就能找到自己想问的答案


谢谢。
作者: 山丘的测试之道    时间: 2016-6-14 10:23
yu1984 发表于 2016-6-13 16:04
请教大家:我用 ride ,定位元素用总是定位不到

*** Test Cases ***

是xpath写的有问题,
    你这个xpath的写法应该是在firefox里面的view xpath,复制出来的吧?
    不建议这样做,最好是能学好xpath的使用方法,可以一层一层的去找
作者: Lucifer_Hell    时间: 2016-6-14 17:32
楼主你好,性能测试和压力测试用哪个软甲好一点,小公司刚起步,人员技术都不足
作者: 山丘的测试之道    时间: 2016-6-15 11:14
Lucifer_Hell 发表于 2016-6-14 17:32
楼主你好,性能测试和压力测试用哪个软甲好一点,小公司刚起步,人员技术都不足

你好,
性能测试工具比较常见的就是Loadrunner和Jemter,LR是商用软件但是可以破解,Jemter免费,两者的异同可参考这个帖子:http://www.51testing.com/html/61/n-805161.html
作者: amy770428    时间: 2016-6-20 00:14
selenium有录制的ide工具可以参考,不过录制的大都是线性脚本,不好用。selenium有对应的书可以学习。其有对应支持的几种语言,其中python相对属于解释性语言,上手比较快,比较推荐。除了selenium工具本身学习外,建议学习下所选的开发语言,还有web的html等。
作者: amy770428    时间: 2016-6-20 10:22
1学习selenium,网上资料很多,不过还是推荐买书系统学习,虽然有提供ide可以录制,但是线性脚本很不好用。2.有提供不同的开发语言,建议选择和开发人一样的语言,便于讨论。python解释性语言比较容易上手,适合编程经验少的人。3不同语言选定后,对应嵌套的单元测试框架也就定了,建议也了解下,便于结果判断使用。4对应web的html,css等也做学习了解5web里的有时出现的非web界面的处理,可以考虑结合autoit处理,遇到不能识别控件,快捷键也是不错的选择。6web的ui结果判断有时还借助借口调用结果间接判断。所以必要时也需要了解。7selenium提供的grid也比较好用,不同系统不同浏览器可调度测试,后续也可以学习了解
作者: 拉美西斯1    时间: 2016-6-20 17:56
山丘的测试之道 发表于 2016-6-14 10:18
客气了~
其实语言的选择,关键是看你自己,或者根本不用选,先找一门马上开始学,先实践起来,因为以后 ...

非常感谢老师的耐心解答~~
作者: 猪的萝卜晚餐    时间: 2016-6-21 15:09
18612201214 发表于 2016-6-5 13:19
之前我一直在做功能测试,已经工作几年了,现在进一步的搞升自己,向自动化发展。先说下自己的情况,没有写 ...

比较常用的是java和Python,入门的话都不需要对开发语言非常精通,一般掌握常用的基础命令和脚本开发技巧,就够用了,以后再结合被测对象深入学习开发语言~~推荐学习博为峰网校上的Selenium课程,里面包含java语言讲解、工具使用及脚本开发项目实战,很适合入门。http://www.atstudy.com/course/20
作者: zhenxi751    时间: 2016-6-21 16:56
想学python,首先应该如何
作者: 山丘的测试之道    时间: 2016-6-22 11:05
zhenxi751 发表于 2016-6-21 16:56
想学python,首先应该如何

首先最好踏踏实实学习两个月的准备,就怕说说,或者看两天就停了。
然后可以买一本书,看书,对着书敲代码,结合网上的一些视频教程,一起学。
最重要的就是实践,要多敲代码,可能看书,听课都能听懂,但是自己写就写不出来了~~
作者: abclookme    时间: 2016-6-27 16:14
山丘的测试之道 发表于 2016-6-10 00:59
您好,
我的理解是,
1、编程是基础,不仅仅是看完一本书,需要弄清楚,自动化测试需要的编程知识,因 ...

恩恩,最近我也在自学python+selenium.
1.最开始看的书是虫师的python+selenium.挺实用的,现在基本的API都无问题
2.目前能做到数据驱动;
3.代码重构能力不足,容错性不强,这个是后期学习的重点
4.还有就是UI界面的一些基础知识也需要大量补充
作者: 山丘的测试之道    时间: 2016-6-28 14:34
月末了,俺来统一回复下
自动化测试,其实就是软件测试的工具,真正的基础还是基础测试技术,黑盒测试方法,设计测试用例的方法,缺陷的管理,在测试过程中将所学运用到项目中,以及随机应变的能力。脱离了测试的基础,学自动化测试,就本末颠倒了。
自动化测试最主要的作用就是回归,确保已有的功能没有Bug,来减少在回归测试中的人力成本。
自学自动化测试,我觉得可以从以下几方面入手:
1、熟悉使用一门编程语言。可以是Java,可以是Python,可以是Ruby,选择自己感兴趣的,都不了解,就随便选一门入手,以后可以慢慢接触。
2、学习Selenium的API 。这个阶段要多练,Selenium本身的API要学的东西不多,关键是要熟练使用,每一个例子都自己敲一遍,跟你看书看一遍的效果是完全不一样的。
3、前端技术的学习。在这个阶段,你会发现在Web前端的一些技术上有点力不从心,HTML+CSS+JS,做到大体熟悉,常用方法会使用就差不多了。
4、数据驱动。一般作为数据驱动的数据存储会选择Excel跟数据库两种形式,前者简单一些,毕竟不牵涉到SQL。
5、框架搭建。Selenium的二次封装,实际项目的常用方法封装,数据驱动,测试报告,测试场景设计等等
6、持续集成。Jenkins+Git
大体就是这么多,UI层的自动化。希望能帮助到想自学的小伙伴们。
作者: luxuehua77    时间: 2016-6-28 16:45
山丘的测试之道 发表于 2016-6-10 01:25
首先,在工作之余,自学自动化测试。(重点)
然后,评估目前公司的产品是否符合自动化测试的要求。
若 ...

请问老师,怎么评估一个产品是否适合自动化呢
作者: seventesting    时间: 2016-6-29 15:38
tanshunsky 发表于 2016-6-7 15:29
公司没有发展自动化测试,自己很想做自动化测试,请问如何发展呢!

从简单的功能的脚本开始吧!不管是工具的录制,还是Monkey的点击交互。有一定的了解以后,开始做自动化,到后面开始接口方面的工具化。这期间你最好学习js、python这两门语言。对你有帮助的。
作者: ly354247269    时间: 2016-6-29 16:23
我会SQL的增删改查,然后会JAVA的基本语句,做了快2年的测试,现在需要测试Web载入时间,要是自动测试,然后反馈给我页面地址与载入时间的,因为比较急,网上查的比较乱不太知道到底哪个比较有效,麻烦老师帮忙推荐一个好吗?
作者: 山丘的测试之道    时间: 2016-7-4 10:29
luxuehua77 发表于 2016-6-28 16:45
请问老师,怎么评估一个产品是否适合自动化呢

1、项目周期较长,若项目周期很短,或者马上要结束的项目,就 没必要做自动化了,这种情况可以尝试用按键精灵做录制回放,
2、需求变更不是很频繁,如果项目需求变更很频繁,那自动化基本就处于一直在维护的状态,根本发挥不了他的价值
3、测试时间较长,需要大量执行回归测试的项目
4、需要有部分功能,界面比较稳定的模块,以此作为自动化的切入点
5、需要考虑测试团队的技术能力是否能达到要求以及资源是否充足
作者: 海里的幸福    时间: 2016-10-28 13:08
历害 强!!!!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2