• 1
  • 2
分享

1.就目前Selenium只能做Web跟Android App方向的自动化是吗?像IOS App跟 Windows桌面应用的自动化就无法用Selenium实现对吗?

selenium的创作团队很明确说了,他们只专注WEB测试.

你如果想测试APP,可以看一下这篇文章:http://www.51testing.com/index.php?action-viewnews-itemid-4462121-php-1


2.Selenium的Web自动化,除了用Fire bug和Fire path 来获取页面元素进行定位,还有其他更好的方式吗?

Firebug和Firepath,基本上足够你去定位元素了,如果你对XPATH熟悉,Firebug一个就足够了。

主要的定位方式:id,name,identifier,js,link,css如果这些都不行,那么用xpath几乎能百发百中的。


3.DOM定位,Xpath等,项目中使用何种定位更加准确?

能用固定的属性,比如id,name(当然要唯一),tagname等的,尽量去用。没办法了再用XPATH,这样后期维护会省很多力气,减少因为程序员调皮改代码影响你的脚本。


4.QTP跟Selenium中Selenium的优势有哪些(除了开源性跟价格以外)?

QTP跟Selenium打起来的话,很难说谁会赢。开源和价格不谈以外,QTP有keyword view不会编程的照样做自动化,webdriver就会傻瞪眼,除非谁还把seleniumIDE挖出来玩玩。

另外,QTP很多功能都做了封装,留给用户的可能就填一个数据或者改个配置就能完成一项自动化测试,比如,QTP的参数化,简化到了你只需要填写excel表格就可以自动循环和调用,而webdriver,完成一个参数化绝不少于4页A4的代码。所以从易用性上来说,selenium估计是打不过QTP的。

但是,事情的转机往往就在价格上面了,QTP要加一个插件,或者定制个什么功能,代价不菲;selenium自然都是开源的。这一点,如果你不让我谈的话,我觉得真没啥好说了,还有比这个更能打动老板的心吗?

如果再要掰一点出来,QTP用了那么多年,会的人比较多,招人比较好招吧;webdriver对招人来说,要求就高很多很多了,要做过多年测试(会设计数据)+多年开发(会编写脚本)。


5、我做自动化6年了,最近发现selenium官网上说selenium支持Winium.Desktop, Winium.StoreApps,我的理解是现在selenium应该已经能支持手机端和桌面应用程序的测试了,只是目前功能还不算很强大。我使用了一下Winium.Desktop的对应功能的jar包,用selenium的driver调起本地的calc计算器实现简单的运算,我自己写了一点代码,但是最大的困难还是在于很难识别桌面应用程序的各个组件的元素(微软的小工具UISpy.exe不太好用,虽然也是通过name, id, xpath去定位元素),请问是否有好的工具或者其他办法,可以识别桌面应用程序中各组件元素呢?

我主要的经验都是WEB,C/S以及桌面应用确实测得很少,要测也是手工测试的。所以这个领域不太敢造次。

这些年来,对于cs的测试,大部分网友还是推荐QTP。另外还有个工具不知道你用过没有TestComplete。据用过的网友说,还是不错的。

也许只能帮到你这里了~


6、selenium测试能与开发同步进行吗,请从多方面详细解答

可以的,而且是必须的。

虽然界面不稳定,会给你的脚本带来很多维护量。但是一旦软件做好了,你发现有些东西不能识别到,想让开发给你加点属性,估计开发是不愿意的。

所以开发在做一些核心控件的时候,你完全可以用selenium先识别下,看下能不能识别到,不能识别到的,让开发帮下忙加点属性,这个时候,也不会影响他们工作太多。

对于一些完整的流程,大可到了界面稳定后再串起来。


7、我是一个刚接触测试行业自动化测试的萌新,请问能怎样快速的上手selenium工具呢?

先选一个自己熟悉的selenium能支持的语言吧。

然后找一些实例去看。自己动手再实践,做过几个实例就慢慢上手了


8、selenium 类的 请问相关课程对于JS脚本对象验证,有没有详细的资料?

在讲selenium课程的时候,讲到一部分js的内容,主要是有的控件无法识别,采用JS的方式去识别。


9、QTP 类的 请问相关课程对于win平台下的COM对象讲解有多少?有没有全面详细的COM对象资料?

你指的COM对象是桌面应用或者C/S的吗?因为这个外面用得少,所以咋们这个QTP课程中没有这块,主讲web。这篇文章写的挺详细。http://www.51testing.com/index.php?action-viewnews-itemid-4462122-php-1


10、Jmeter和LR 性能类的 请问在定位接口性能问题外,然后应该去学习分析定位哪些方面的性能问题?有没有途径或资料去学习去研究

这两个性能工具,无论哪个,做完测试后,都需要对性能指标进行一下分析,我在jmeter这个课程中,穿插了一些性能指标的分析内容,比如如何判断内存泄漏,CPU瓶颈,如何定位性能问题,性能调优需要注意的点响应时间图分析等等。


11、最近在用selenium+java+testng写的页面自动化,遇到一个问题,用下面的方法实现模拟F12页面出现开发者工具的操作总是不生效,但是用例执行也不报错,就是预期结果没有出现(跟debug看的),我的脚本如下:

 driver.get(https://www.baidu.com/);
  driver.manage().window().maximize();
  Actions builder = new Actions(driver);?
  builder.sendKeys(Keys.F12).perform();

这个我笔记本是fn+F12的,不知道你是不是也是,所以单纯用action是驱动不起来的。

所以我改用Robot了。package test;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class F12 {
        public static WebDriver driver=null;
        @BeforeClass
        public static void setUpBeforeClass() throws Exception {
                System.setProperty("webdriver.chrome.driver","C:\\browserdriver\\chromedriver.exe");
                driver=new ChromeDriver();
        }
        @AfterClass
        public static void tearDownAfterClass() throws Exception {
                driver.quit();
        }
        @Test
        public void test() throws InterruptedException, AWTException {
                driver.get("https://www.baidu.com/");
                Robot robot = new Robot();
                robot.keyPress(KeyEvent.VK_F12);
                robot.keyRelease(KeyEvent.VK_F12);
                Thread.sleep(3000);
        }
}


12、什么是插件包测试,测试的对象是什么?

不知道你指的插件包有没有什么特殊性,我理解的插件包无非是安装好了插件后,某个软件中多了一个功能,然后做正常的功能测试即可,然后就是不要忘记测试,卸载了插件包后,软件有没有什么异常


13、编写测试用例时,如何进行思考。如,我现在工作的公司经常对app内部功能进行改版,我编写用例时,总会忽略一些重要的细节,但是事后会马上想起来。所以想问一下如何能够做的更好?

编写测试用例,就像我们写作文,一般都要先打个大纲稿,先把要写的东西提一下,再细化里面的细节。

在测试用例里面,这个大纲就是测试需求,写的时候只要点到为止,并不需要怎么去测试的细节,这样就能把精力集中在思考要测试哪些东西上面。

比如,测试一个输入框,就要考虑要测哪些东西,正常的输入,异常的输入数据,用户易用性测试等等。等想完了要测试哪些点后,再逐一去思考每个点的测试步骤。


14、数据驱动你们是怎么做的,用的是testng的dataprovider+xml/excel 吗? 如果是这样数据回写你们是怎么处理的呢?

我用的比较多的还是POI的那一套。数据还是写在excel里面的。这样后期维护比较方便。读取excel的代码可以这样写:

//读取excel文件
  InputStream is = new FileInputStream(filesrc);
  POIFSFileSystem fs = new POIFSFileSystem(is);
  HSSFWorkbook wb = new HSSFWorkbook(fs);
  HSSFSheet sheet = wb.getSheetAt(0);
  if(sheet==null){
  System.out.println("暂无数据,请输入测试数据");
  }
  //获取文件行数
  int rows = sheet.getLastRowNum();


15、UI自动化做成什么样,才能使其他手工测试人员更容易上手,让不怎么懂代码的他们也能建议使用自动化?

自动化测试,一般测试人员都比较犯憷,无非就是那些代码太长,不好理解,所以,有些公司就在QTP或者SELENIUM的基础上,做了封装,对外只留了一些数据输入的接口,这样普通的测试人员,只要把精力放在设计测试数据上就好了,然后再执行,中间的逻辑代码对他们都是黑盒。你上面第一个问题的数据驱动不就是一个典型,excel留给他们去设计就简单了。


16、手工测试人员,想从功能向自动化提升,但是没有代码基础,应该怎么进步呢?先学语言还是先学工具?

你应该先选定一个你想使用的自动化的工具,很多自动化工具都有一些基本使用操作是不需要编程技能的,都是图形化的,你可以先从这个图形化的操作开始,熟悉了工具的机制后,再学习语言,进行深层次的编程。

或者,我们大学里面多少都学过一些编程语言,这些是你熟悉的,你可以通过这个熟悉的语言去挑选工具。不过还是推荐看第一条。


版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在面试过程中,很多小伙伴也会说,我们会根据需求所描述的功能,进行测试。那作为一位应聘者,如何才能把自己之前工作的能力展示给你的面试官呢。  随着有赞SOA服务化的深入推进,系统拓扑结构越来越复杂。我们也在不断提升测试小伙伴的测试能力及问题思考的能力。  我们的日常测试,一般需要考虑需求功能测试、性能测试、异常测试、安全测试。  一、熟悉技术方案  有赞现在没有纯粹的测试工程师,不论是通过阅读技术方案文档、或是跟开发 Face to Face 沟通技术方案。从中,测试同学需要了解一下信息:  当前需求,涉及哪些应用的改动,或者我的业务需要改动哪些应用;  了解每个应用在全站系统拓扑结构的节点...
            13 13 2074
            分享
          • Vim是Linux系统上最常用的文本编辑器,本文将介绍一些vim常用的命令。插入命令a 在光标后插入A 在光标所在行的行尾后插入i 在光标前插入I 在光标所在行的行首前插入o 在光标下插入新行O 在光标上插入新行gi 进入到上一次插入模式的位置<ESC> 退出插入模式定位命令:set number 设置显示行号:set nonumber 取消行号gg 到第一行G 到最后一行nG 跳到第n行:n 跳到第n行$ 移至行尾0 移至行首删除命令x 删除光标所在处的字符nx 删除光标所在处后n个字符dd 删除光标所在行ndd 删除光标在内的n行dG 删除光标所在行到文件末尾的内容D 删除光标...
            0 0 1226
            分享
          • 在我们测试过程中,需要把发现的bug纳入系统,并指派给对应的开发人员修改,开发修改完成后更新bug状态,bug回到测试手中,进行验证,验证完毕关闭bug或重新打开bug。在这个过程中就需要借助bug管理工具,目前常用的是tapd软件缺陷管理系统。点开缺陷详情,右侧更多里面有针对这个缺陷的一系列功能,比如重新编辑缺陷,删除缺陷,复制缺陷,移动缺陷,合并缺陷,关联缺陷,转需求,转用例等。常用的是复制,移动和关联缺陷,当提交完bug发现bug对应的项目选错了,这个时候我们可以用移动功能把bug移动到对应的项目中,当发现的问题与之前提交的一个问题比较类似,这个时候就可以用复制功能,把问题的主体复制过去...
            1 1 23234
            分享
          • 对于业内人士而言,软件测试要做到与时俱进还真不容易。因为测试团队与领导之间在测试方法、测试地点和时间问题上有着许多误解,所以使得准时的、高质量的发布具有一定的挑战性。如果高层领导从测试之初就参与进来,你就能够克服很多这样的问题。虽然他们不会参与到实际测试,但是他们能够从基层了解到从测试到交付一个优质软件需要做到什么。通过设定明确的质量预期,并了解满足测试团队的需求(例如培训、练习、工具等等),才能从顶层建立领导力。由于公司在持续交付中进行测试,测试计划的必要成为他们质疑的一点。现代测试计划可以为构建和传达测试策略和方法提供帮助。他们给测试团队提供的是交流各类假设和方法的渠道,其中也包括了对测试...
            0 1 1535
            分享
          • 一、前言相信不少,应该说绝大数的测试同学都遇到过这样的场景,上线出现了BUG,被质问:为什么没测出来!测试怎么测得?到底会不会测?这对测试来说是灵魂拷问级别不好回答的问题了。那么我们遇到类似这样的提问该如何回答、解决呢?二、如何回答和解决其实当遇到线上出现问题的时候,不管这个问题是谁的锅, 先以解决问题为主, 先复现问题, 再配合开发调试定位问题进行修复, 然后测试完成进行紧急的修复上线才是最应该做的事情!这个时候也不要进行任何甩锅的操作,也不要默不作声的不说话。可以回答说:我们会在这个问题修复上线后进行复盘,找出问题出现的原因,如果是测试团队的问题,我们会主动承担责任并作出总结,避免下次再犯...
            13 12 2430
            分享
      • 51testing软件测试圈微信