面试时能用到的一些selenium知识点

322 阅读2分钟

环境:

Python:3.6.1

selenium:3.4.3

Firefox:54.0.1

geckodriver:0.15.0

chrome:59.0.3

chromedriver:v3.1

自动化测试基础

1、软件测试分类

根据项目流程:单元测试(编码)、集成测试(设计)、系统测试(需求)、验收测试

根据代码是否可见:白盒测试、黑盒测试、灰盒测试

功能测试:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试

性能测试:负载测试、压力测试

手工测试:手工执行测试用例

自动化测试:性能自动化和功能自动化

冒烟测试:在对系统进行正式测试之前,先验证主要功能是否实现,是否具备可测性

回归测试:修改代码之后确保没有引入新的错误,或导致其他代码产生错误

随机测试:为了模拟用户的操作,测试中输入的数据都是随机的,以便发现一些边缘性的错误

探索性测试:强调主观能动性,碰到问题时主动改变策略

安全测试:验证产品是否符合安全需求定义和产品质量标准

2、什么项目适合自动化

1)项目需求变动不频繁

2)项目周期长

3)自动化测试脚本可复用

3、自动化测试分类和工具

1)分类:UI自动化、接口自动化、单元测试自动化

QTP:企业级自动化测试工具,支持B/S,C/S架构

robot framework:Python语言编写,支持关键字驱动,分布式测试

Watir:基于web模式的功能自动化测试工具

selenium:支持多语言、多平台、多浏览器

4、selenium工具

1)特点:多语言---Java、Python、PHP、ruby

多平台---Windows、Linux、Mac

多浏览器----Firefox、chrome、IE

开源、免费

简单、灵活

2)selenium1.0

selenium IDE:实现浏览器操作的简单录制和回放,支持多种语言

selenium Grid:自动化测试辅助工具

并行执行

通过一个主机控制用例在不同环境、不同浏览器下执行

selenium RC:selenium的核心,支持多种编程语言编写脚本,通过selenium服务器作为代理服务器去访问应用,从而实现测试的目的。

selenium RC:client libraries---编写测试脚本,控制selenium server的库

,selenium server---控制浏览器行为

selenium server:selenium core---一堆js函数,嵌入到浏览器中,通过这些函数控制浏览器操作launcher---启动浏览器,并将selenium core加载到浏览器中,将selenium server的http proxy设置为浏览器的代理服务器

3)selenium2.0

webdriver替代了selenium RC,为了向下兼容性,selenium RC仍然可以使用

selenium RC通过嵌入到浏览器中的js函数操作

webdriver针对各浏览器开发,通过原生浏览器支持或者浏览器扩展控制浏览器