(1)selenium+python自动化测试-入门

1. selenium简介
2. 背景技术
3. 环境搭建
4. WenDriver API基础语法

*工作不久,开始对自己的职业生涯产生了担忧,默默开始学习一些新技能,总会用到的,坚持学习总没有错 *

工具介绍

(1)selenium是用于web应用程序测试的工具,支持多平台(windows、linux、mac)多浏览器(google、firefox、ie)多语言(Python、Java、Ruby、C#、JavaScript、C++)去实现自动化测试,支持分布式用例的执行。
(2)selenium2=selenium1+webdriver,我是初次使用selenium,所以直接使用了webdriver。webdriver是通过原生浏览器或者浏览器扩展来直接控制浏览器,与浏览器紧密集成。

背景技术

(1)HTML
HTML是网页的基础,并不是编程语言,只是一种标记语言(标记标签),可以在HTML中嵌入各种不同的前端脚本语言

<html>描述网页</html>
<head>定义文档的头部,是所有头部元素的容器</head>
<titile>显示在浏览器的标题栏</title>
<body>显示在页面中的内容</body>
<h1>一号字体</h1>

(2)JavaScript
JavaScript是一种前端脚本语言,被设计用来向HTML页面添加交互行为,被直接嵌入到HTML页面
在html页面中使用JavaScript,需要添加

<!-- 
通过script标签可以告诉浏览器,JavaScript脚本从何处开始,到何处结束
通过document.write()可以向文档输出内容
-->
<html>
<body>
<script type="text/javascript">   
    document.write("hello world");
</script>
</body>
</html>

(3)XML
xml是扩展标记性语言,与HTML类似,区别在于HTML用来显示数据,重点在数据的外观,xml用于传输和存储数据,重点在数据的内容

<?xml version="1.0"?>
<note>
<to>zhang</to>
<from>wang</from>
<heading>date</heading>
<body>don't forget the meeting</body>
</note>

环境搭建

selesium+python:环境搭建过程比较简单,主要是webdriver
(1)windows系统
(2)python3
(3)selenium:python3自带pip,使用pip安装工具集:pip install selenium
(4)webdriver
chromedriver下载:https://sites.google.com/a/chromium.org/chromedriver/home(需要翻墙下载)
下载后放在对应的python的安装路径下
(5)pycharm

WebDriver API

webdriver属于selenium体系中设计出来操作浏览器的一套API,站在编程语言角度,webdriver是python的一个用于实现web自动化的第三方库,简单操作如下:
(1)打开浏览器:driver = webdriver.Firefox()
(2)最大化浏览器:driver.maximize_window()
(3)设置浏览器大小:driver.set_window_size(340,420)
(4)访问链接:
url = ‘http://www.baidu.com
print (‘now acccess %s’ %(url)
(5)打印当前页面的title及url
(6)截屏:driver.get_screenshot_as_file(“G:\xxx\xxx.png”)#截屏,格式为指定的保存路径+文件名称+后缀

from selenium import webdriver
import time #调用time函数
import os
driver = webdriver.Firefox()  #打开浏览器
url = 'http://www.baidu.com'
driver.get(url)      #输入www.baidu.com
driver.find_element_by_id("kw").send_keys("selenium")        #百度输入框的id叫kw,在框里输入selenium
driver.find_element_by_id("su").click()        #搜索的按钮id叫su,click表示需要点击一下按钮
print ("maximize browser")       #python2与python3的区别,需要加()才可以
driver.maximize_window()          #将浏览器最大化显示,最大化窗口
time.sleep(2)          #在适当的位置加入sleep,有助于减少网络原因造成的脚本执行失败
driver.set_window_size(340,420)         #参数数字为像素点
print ('now acccess %s' %(url))      #通过get方法获取当前URL打印
driver.get(url)
if 'HTTP_PROXY' in os.environ:del os.environ ['HTTP_PROXY']
print ('title of current page is %s' %(driver.title))
print ('url of current page is %s' %(driver.current_url))
print ('close browser')    #把访问页面的操作打印出来
driver.back()#返回到上一页
driver.forward()#切换到下一页
driver.quit()      #退出并关闭窗口的每一个相关的驱动程序

run结果

maximize browser
now acccess http://www.baidu.com
title of current page is 百度一下,你就知道
url of current page is https://www.baidu.com/
close browser

基本语法

'''
操作对象:
click 点击对象   #click()用于点击一个按钮
send_keys 在对象上模拟按键输入 #send_keys("xx")用于在一个输入框中输入内容
clear 清除对象的内容  #比如百度输入框有“请输入关键字”的信息,或者登陆界面有“账号、密码”默认信息,clear可以清除这些信息
WebElement 常用方法:
  text 获取该元素的文本
  submit提交表单
  get_attribute获得属性值  
'''
'''
#打印百度首页底部的声明
#coding=utf-8
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
time.sleep(2)
#id=cp元素的文本信息
data=driver.find_element_by_id("cp").text
print (data) #python2与python3的区别
time.sleep(3)
driver.quit()
'''
'''
#submit提交表单,把百度一下的操作由click换乘submit
#coding=utf-8
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("selenium")
time.sleep(2)
#通过submit来操作
driver.find_element_by_id("su").submit()
time.sleep(3)
driver.quit()
'''
'''
#多层框架或窗口的定位
   switch_to_frame()
   switch_to_window()
#智能等待
  implicitly_wait()
'''
 
 #frame.html中嵌套inner.html,两个文件和我们的脚本文件放在同一个目录下
 #操作上面的页面
 #coding=utf-8
from selenium import webdriver
import time
import os
 
driver = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath('frame.html')
driver.get(file_path)
 
driver.implicitly_wait(30)
#先找到ifromel(id=fi)
driver.switch_to_frame("f1")
#再找到其下面的ifrome2(id=f2)
driver.switch_to_frame("f2")
#下面就可以正常的操作元素了
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
#time.sleep(3)
 
#driver.quit()

猜你喜欢

转载自blog.csdn.net/cqupt_zl/article/details/84429914