51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4207|回复: 2
打印 上一主题 下一主题

Selenium 自动化测试相关的面试题

[复制链接]
  • TA的每日心情
    无聊
    2024-9-27 10:07
  • 签到天数: 62 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2018-2-7 17:24:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
              1.Selenium中用什么函数判断元素是否存在?
    isElementPresent



    2.Selenium中hidden或者是display = none的元素是否可以定位到?

    不能,可以写JavaScript将标签中的hidden先改为0,再定位元素



    3.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

    添加元素智能等待时间 driver.implicitly_wait(30)
    添加强制等待时间(比如python中写 sleep)
    try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种
    4.如何提高Selenium脚本的执行速度?

    代码优化



    5.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何
    去提升用例的稳定性?

    time.sleep( )
    driver.implicitly_wait(30)
    多用 try 捕捉,处理异常


    6.你的自动化用例的执行策略是什么?

    自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测
    试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自
    动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果



    7.自动化测试的时候是不是需要连接数据库做数据校验?

    从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,
    UI层面上的校验也是需要做的。



    8.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

    css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,
    所以首先使用的还是id或者name等。



    9.如何去定位页面上动态加载的元素?

    触发动态加载元素的事件,直至动态元素出现,进行定位



    10.如何去定位属性动态变化的元素?

    xpath或者css通过同级、父级、子级进行定位



    11.点击链接以后,Selenium是否会自动等待该页面加载完毕?

    会的



    12.Webdriver client的原理是什么?

    Selenium RC的原理是当浏览器启动时,向其中注入Javascript,从而使这些JS来驱动浏览器中的AUT
    (Application Under Test),而Selenium Webdriver是通过调用浏览器原生的自动化API直接驱动浏览器



    13.Webdriver的协议是什么?

    The WebDriver Wire Protocol



    14.启动浏览器的时候用到的是哪个Webdriver协议?

    http



    15.什么是page object设计模式?

    简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法
    能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。



    16.怎样去选择一个下拉框中的value=xx的option?

    二次定位



    17.如何在定位元素后高亮元素(以调试为目的)?

    用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框



    18.什么是断言?

    断言的英文是assertion,断言检查的英文是assertion checking。

    断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的
    某个点上必须满足的条件。



    19.如果你进行自动化测试方案的选型,你会选择哪种语言,java,js,python还是ruby?

    人生苦短,我用python



    20.自动化测试用例从哪里来?

    手工用例中抽取。(可以参考自动化用例的执行策略)



    21.你觉得自动化测试最大的缺陷是什么?

    不稳定
    可靠性
    不易维护
    成本与收益


    22.什么是分层测试?

    行业里面提的一般是金字塔的分层模型

    UI测试
    集成/接口测试
    单元测试


    23.Webdriver可以用来做接口测试吗?

    有难度,不推荐



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏2
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-2-6 14:59
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2018-2-8 08:40:20 来自手机 | 只看该作者
    好棒,收藏了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-10-25 13:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2018-2-24 09:49:47 | 只看该作者
    driver.implicitly_wait(30)
    用来提高稳定性??? 你确定?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-17 18:37 , Processed in 0.063973 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表