今天去面了平安健康保险的测试。
平安健康险是平安集团旗下的专业保险公司,2005年成立,总部设在上海。
***今天面试的地方是在凯滨路凯滨国际。
面试官先给了一套题目做,有关sql语句的试题,做了有大概15分钟。
试题一共有三面,一面的是一个需要写sql函数的大题(给三个字段,每个字段有2到3个类别,要求通过三个字段提供表的类别分类情况。没做出来,面试官给讲了下是需要写sql函数来实现的。得补补);另外两面是sql语句的选择题,都是基础题。
面试官看过我做的题后,开始正式面试。
***先叫我自我介绍下,
看我专业是电路与系统,问了我为什么想要做测试,
在学校里跟着导师做的是什么,
实习的时候做的是什么项目,
看我在实验室和实习都用过python,matlab写过程序,接触过开发,为什么不做开发,
实习的时候用selenium,有几种获取页面元素的方法,
知道selenium的抓取元素的原理吗,
知道Jenkins是干什么的吗,知道多少,
实习时小组团队有几个人,你们的分工如何,
你写了多少个用例,在Jenkins上能跑对多少,出错的原因有找到吗,改过后的正确率呢,
你的这个研究生数学建模是个什么比赛,
你觉得你两段实习经历对你的影响是什么,
你老家是哪的,
本科是在安徽阜阳上的,怎么研究生来上海了,
你提到视野,你的职业规划是什么,
有参加过别的公司面试吗,手头有offer吗,
你现在住在学校吧,现在要做毕业设计吗,
如果通过了话,可以来实习吧,
好的,如果通过了,后续人事会和你联系的,
我问了下通知的时间,面试官说就是这两天。
***总的来说,面试官很和善,对简历上的内容问的很细,聊的还是很愉快的。就是今天有点感冒,总是咳嗽。
Selenium的原理和Jenkins的内容答得不是很好,这里补充下。
(1)Selenium的工作原理
Selenium是一个用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试,现在常用的是Selenium2版本,其将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样。
Webdriver的一个简单的架构图,如下图所示:
Selenium2原理:webdriver是按照server-client的模式来设计的,
Server就是远程服务器(这里就是你操作的浏览器):可以是任意浏览器,它就是等待client发送请求并响应的,
Client端就是我们编写的测试代码:测试代码中的执行操作,比如根据url启动浏览器到指定网址,执行相应操作,在response中返回执行状态、返回值等信息
简单介绍一下webdriver的工作原理:
启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器则作为webdriver的remote server。
客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire Protocol,在HTTP request的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我们希望浏览器接下来做什么事情)。
Sever端需要依赖原生的浏览器组件,转化Web Service的命令为浏览器native的调用来完成操作。
注:
the WebDriver Wire Protocol是Selenium自己设计定义的协议,这套协议非常之强大,几乎可以操作浏览器做任何事情,包括打开、关闭、最大化、最小化、元素定位、元素点击、上传文件等。
WebDriver Wire协议是通用的,也就是说不管FirefoxDriver还是ChromeDriver,启动之后都会在某一个端口启动基于这套协议的Web Service。
(2)Jenkins介绍
Jenkins 是一个可扩展的持续集成引擎,用于监控持续重复的工作。所谓持续集成是把开发代码集合到一个共享的存储库,问题能及时发现。
主要用于:
l 持续、自动地构建/测试软件项目。
l 监控一些定时执行的任务。
| 监控外部调用执行的工作。
参考:
1. leo博客 https://www.cnblogs.com/leeboke/p/5014058.html
2. http://www.cnblogs.com/zz0412/tag/jenkins/