面试问题整理

来源:互联网 发布:linux shell 参数 编辑:程序博客网 时间:2024/05/16 13:03

自动化测试相关:

  1. chromedriver.exe作用是什么?
    chromedriver是google为网站开发人员提供的自动化测试接口,是网站测试架构selenium的chrome基础部分,主要是通过http通信实现的。它是 selenium 和 浏览器进行通信的桥梁。他们的工作原理是:selenium 通过一套协议和 chromedriver进行通信,selenium 实质上是对这套协议的底层封装,同时提供外部WebDriver的上层调用类库。selenium 通过指定的port(如9515)调用起 chromedriver的实例,chromedriver在本地port(如9515) 端口打开一个http服务,selenium通过网络编程与这个http服务进行通信,selenium中每创建一个WebDriver实例,则chromedriver新建一个进程,启动一个chromebrowser 实例。
    selenium中的WebDriver实例和chromedriver的关系为多对一,chromedriver和chromebrowser的关系为一对多;

  2. selenium中定位元素的方法,优缺点。
    by_id
    by_name
    by_xpath
    by_link_text
    by_partial_link_text
    by_tag_name
    by_class_name
    by_css_selector

    id和name定位是selenium可以不依赖于UI元素在页面上的位置而进行测试。
    所以,当页面结构发生变化时,测试依然可以通过。有时候,设计人员频繁改动页面的情况,通过id和name特征定位元素就变的非常重要。

    XPath是XML中定位结点的一种方式,因为HTML也可以实现XML接口,所以也可以XPath语法定位HTML元素。
    绝对的XPath是所有元素都从根元素的位置(HTML)开始定位,只要应用中有轻微的调整,会就导致你的定位失败。但是通过就近的包含id或者name属性的元素出发定位你的元素,这样相对关系就很靠谱,因为这种位置关系(相对路径)很少改变。

  3. selenium中常用的事件
    action.click()// 鼠标左键点击
    action.contextClick();// 鼠标右键单击
    action.doubleClick();// 鼠标双击
    action.dragAndDrop(source,target);// 鼠标拖拽动作,将 source 元素拖放到 target 元素的位置。
    action.clickAndHold(source).moveToElement(target).perform();//按下左键并移动
    action.moveToElement(toElement);// 将鼠标移到 toElement 元素中点
    action.sendKeys();// 按下并释放键

  4. python中urllib与urllib2库的区别
    Python的urllib和urllib2模块都做与请求URL相关的操作(在python 3.x中已合为urllib),但他们提供不同的功能。他们两个最显着的差异如下:

    • urllib2可以接受一个Request对象,并以此可以来设置一个URL的headers,但是urllib只接收一个URL。这意味着,你不能伪装你的用户代理字符串等。
    • urllib模块可以提供进行urlencode的方法,该方法用于GET查询字符串的生成,urllib2的不具有这样的功能。这就是urllib与urllib2经常在一起使用的原因。
  5. java jvm内存管理
    分配 :内存的分配是由程序完成的,程序员需要通过关键字 new 为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。
    释放 :对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了 JVM 的工作。因为,GC 为了能够正确释放对象,GC 必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等,GC 都需要进行监控。

  6. java 垃圾回收机制
    参考链接

  7. 性能测试之瓶颈分析方法


0 0
原创粉丝点击