您的位置 首页 php

第四章:Python Selenium 自动化测试之webDeiver

15290700543782013b670dd

webDriver

webDriver概念:Webdriver是一种用于Web应用程序的自动测试工具,它提供了一套友好的API,与 selenium -RC相比,Web driver 的API更容易理解和使用,其可读性和可维护性也大大提高。Webdriver完全就是一套类库,不依赖于任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或安装其他程序。webDriver支持的浏览器包括Firefox、IE、Opera、Chrome 、safari。webDriver支持的编程语言包括:java、C#、PHP、 Python 、Perl、Ruby

selenium的安装(前提是安装好Python)

安装selenium的相关操作:

打开dos控制台:输入 pip install selenium命令,回车等它安装好就可以

查看selenium版本号命令:pip show selenium

卸载selenium库命令:pip uninstall selenium

安装好selenium后需要下载相应浏览器的驱动程序,下载好驱动后,不需要安装,解压后添加环境变量即可使用

附selenium相关内容的下载链接(包括驱动和selenium):

注意:浏览器位数的版本和驱动版本要一致! 如果是32bit浏览器而Driver是64bit则会导致脚本运行失败!

第一个自动化脚本

实现如下操作:启动IE浏览器,打开百度首页,关闭浏览器

代码如下:

15290698950897f464bb431

浏览器相关操作

窗口最大化

窗口最小化

driver.minimize_window()

设置浏览器窗口大小

driver.set_window_size(width, height)

页面的前进

driver. forward ()

页面的后退

driver.back()

页面刷新

driver.refresh()

元素的定位(自动化的核心之一)

使用id定位

driver.find_element_by_id(‘kw’)

使用name定位

driver.find_element_by_name(‘kw’)

使用tag_name定位

driver.find_element_by_tag_name(‘input’)

假设有多个input标签,我们可以通过索引来定位到我们想要的标签如下:driver.find_element_by_tag_name(‘input’)[0]

使用class_name定位

driver.find_element_by_class_name(‘search_btn’)

这里补一下findElements和findElement的不同:findElements是查找页面上所有符合条件的元素,返回的是一个列表list,不能直接点击,findElement才是准确定位到指定元素,才能进行点击操作

使用link_text(超链接文字)定位

定位超链接文字全部文字内容:driver.find_element_by_link_text(‘程序开发’)

定位超链接文字部分内容:driver.find_element_by_partial_link_text(‘程序’)

使用Xpath定位

方式一:绝对定位不推荐使用(脚本不好维护)

driver.find_element_by_xpath(‘/html/body/div[2]/div[1]/form]/input[@id=”su”]’)

方式二:相对定位

driver.find_element_by_xpath(‘//*[@id=”form”]’)

相对路劲相关解释://表示当前页面;*表示任意标签,你也可以指定标签;@后为属性

使用CSS定位(推荐使用CSS定位,不推荐使用Xpath定位)

driver.find_element_by_css_selector(css_selector)

#值:通过id定位

.class:通过class定位

[属性=’值’]:通过属性定位

层级>层级:通过层级定位

下拉菜单元素定位(利用select类来进行定位)

select=select(driver.find_element_by_css_selector(“[name=’CookieData’]”))

select.select_by_index(0)#通过索引定位

select.select_by_visible__text(“留一年”)#通过选项文字定位

select.select_by_value(‘1’)#通过value值来定位

frame嵌套页面元素定位(嵌套页面就是在网页中又嵌套了一个子网页)

driver.switch_to.frame(‘search’)

文章来源:智云一二三科技

文章标题:第四章:Python Selenium 自动化测试之webDeiver

文章地址:https://www.zhihuclub.com/49844.shtml

关于作者: 智云科技

热门文章

网站地图