selenium小白入门

selenium小白入门

selenium的简述

selenium是一种自动化测试工具,可通过selenium编写脚本控制web执行相应的操作,达到测试web功能的作用。Selenium测试能直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。

selenium webdriver的实现原理

selenium2.0 开始加入了webdriver;webdriver的实习原理是通过浏览器驱动(web driver)直接控制浏览器;不再是selenium 1.0 通过selenium rc server 实现js注入浏览器进而达到控制浏览器的行为。
简单地来说 webdriver的实现原理是 client-server的模式;client是测试脚本代码,而server是我们要控制的浏览器;client通过中间桥梁 web driver 发送http请求给server。
工作流程:
1)创建一个WebDriver的过程中,Selenium首先会确认浏览器的native component是否
存在可用而且版本匹配,接着就在目标浏览器里启动一整套Web Service,Web
Service使用了Selenium自己设计定义的协议,名字叫做The WebDriver Wire
Protocol。WebDriver Wire协议是通用的,也就是说不管是FirefoxDriver还是
ChromeDriver,启动之后都会在某一个端口启动基于这套协议的Web Service;
2)调用WebDriver的任何API,都需要借助一个ComandExecutor发送一个命令,实际
上是一个HTTP request给监听端口上的Web Service
通俗理解
由于客户端脚本(java, python, ruby)不能直接与浏览器通信,这时候可以把WebService当做一个翻译器,它可以把客户端代码翻译成浏览器可以识别的代码(比如js).客户端(也就是测试脚本)创建1个session,在该session中通过http请求向WebService发送restful的请求,WebService翻译成浏览器懂得脚本传给浏览器,浏览器把执行的结果返回给WebService,WebService把返回的结果做了一些封装(一般都是json格式),然后返回给client,根据返回值就能判断对浏览器的操作是不是执行成功

selenium元素的定位

  find_element_by_id
  find_element_by_name
  find_element_by_class
  find_element_by_tag
  find_element_by_link
  find_element_by_xpath

你可能感兴趣的:(自动化测试学习)