python(三):python自动化测试定位

webdriver 提供了八种元素定位方法:
id、name、class name、tag name、link text、partial link text、xpath、css selector
在 Python 语言中对应的定位方法如下:
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
使用:

import sys
import urllib
import urllib2
from selenium import webdriver
import os
import webbrowser
import time,unittest
print time.ctime()#打印当前时间

#登录
def login(un,url):
driver = webdriver.Ie()
driver.implicitly_wait(10)
driver.get(url)
driver.find_element_by_name("username").clear()
driver.find_element_by_name("username").send_keys(un)
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("password")
driver.find_element_by_name("subEnter").click()
time.sleep(3)
# 获取断言信息进行断言
username=driver.find_element_by_xpath("//html/body/table/tbody/tr/td/*/tbody/tr/td/table/tbody/tr/td/b/font").text
print type(username)
username1=username
print type(username1)
#print username
print "%s :welcome to the system"%username1
f=open(r‘D:\\python\\a.txt‘,‘ab‘)
f.write(username1.encode(‘gb2312‘))
f.write(‘ :welcome to the system\n‘+‘\n‘)
f.close()
driver.get_screenshot_as_file("D:\\error.jpg")#截图功能
if un.encode(‘gb2312‘)==username.encode(‘gb2312‘):
print "success"
else:
print "fail"
#退出网站
def exit(un):
driver.find_element_by_class_name("personSet").click()
f=open(r‘D:\\python\\a.txt‘,‘ab‘)
f.write(un.encode(‘gb2312‘))
f.write(‘ :exit the system\n‘+‘time.ctime()‘+‘\n‘)
print time.ctime()#打印当前时间
f.close()

#从txt获取用户名
source=open("D:\\python\\name.txt","r")#用户名文件
values=source.readline()#读取用户名 ,全部用户名readlines
source.close()
un=values
url="http://192.168.1.80:7001/"
#un="chenyang"
login(values,url)
‘‘‘
多个用户名循环登录
for un in values:
try:
login(un,url)
except IOError:
print "登录失败!" #异常打印
‘‘‘

原文地址:https://www.cnblogs.com/LinxiHuang/p/9246724.html

时间: 2024-08-29 12:40:46

python(三):python自动化测试定位的相关文章

Web自动化测试 四 ----- python selenium 八大元素定位

python selenium 八大元素定位方法 前提条件:先要引入webdriver模块,创建一个Chrom浏览器对象,以及打开一个网页(以百度为例). 1 from selenium import webdriver 2 3 driver = webdriver.Chrome() 4 5 driver.get('http://www.baidu.com') 一.ID定位 driver.find_element_by_id('kw') 备注: 此方法相当于JS中的getElementById(

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自

python+requests接口自动化测试框架实例详解

前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到

Python +selenium web自动化测试环境搭建

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: *  免费,也不用再为破解QTP而大伤脑筋 *  小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序. *  这也是最重要的一点,不管你以前更熟悉C. java.ruby.python.或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS *  支持多平台:windows.linux.MAC ,支持多浏览器:ie.f

python基础---->python的使用(三)

今天是2017-05-03,这里记录一些python的基础使用方法.世上存在着不能流泪的悲哀,这种悲哀无法向人解释,即使解释人家也不会理解.它永远一成不变,如无风夜晚的雪花静静沉积在心底. Python的基础学习 一.python中函数作为参数 import math def add(x, y, f): return f(x) + f(y) print(add(25, 9, math.sqrt)) # 8.0 二.python引用自定义模块 在同目录下面定义两个文件huhx.py和huhx5.p

Selenium+Python进行web自动化测试(Demo+API)

Selenium官方网站 http://selenium-python.readthedocs.io/ 配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver 文档参考 简明 Python 教程 Python教程 - 廖雪峰 官方文档 : Selenium with Python webdriver实用指南python版本 一份简单的测试 demo 1

appium+python自动化50-生成定位对象模板templet(jinja2)

前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以选择:templet和mako 简单来说,本篇实现的目的是用代码去自动生成代码,做到代码自动化 接着上一篇讲:appium+python自动化49-yaml管理定位元素 jinja2简介 1.jinja2官方文档:官方文档 要了解jinja2,那么需要先理解模板的概念.模板在Python的web开发

【转】python 三种遍历list的方法

[转]python 三种遍历list的方法 #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == '__main__': list = ['html', 'js', 'css', 'python'] # 方法1 print '遍历列表方法1:' for i in list: print ("序号:%s 值:%s" % (list.index(i) + 1, i)) print '\n遍历列表方法2:' # 方法2 fo

Selenium基于Python 进行 web 自动化测试

From: https://www.cnblogs.com/hanxiaobei/p/6108677.html 配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver 文档参考 简明 Python 教程 Python教程 - 廖雪峰 官方文档 : Selenium with Python webdriver实用指南python版本 一份简单的测试 dem

Python - 三大器 迭代器,生层器,装饰器

目录 Python - 三大器 迭代器,生层器,装饰器 一. 容器 二. 可迭代对象(iterable) 三. 迭代器 四. 生成器 五. 装饰器 1. 定义 六. 闭包 Python - 三大器 迭代器,生层器,装饰器 在介绍三大器之前先来了解一下容器和可迭代对象... 一. 容器 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中.通常这类数据结构把所有的元素存储在内存中(也有一些特例,并不是所有的元素都放在内存