码迷,mamicode.com
首页 > 其他好文 > 详细

login

时间:2017-09-09 10:44:10      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:生成   user   element   导致   情况   set   sel   网址   ftime   

# coding=gbk
# 宝贝计划登录脚本
import sql
from selenium import webdriver
import time
from selenium.webdriver.support.wait import WebDriverWait as w
import makefiles as mf

import sys
reload(sys) # 重载sys模块
sys.setdefaultencoding(‘gbk‘) # 设置默认的十进制编码(解决读取或写入Unicode编码时提示越界)


‘‘‘
在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,
即编码unicode→str,解码str→unicode,
其中str指的是字节流,而str.decode是将字节流str按给定的解码方式解码,并转换成utf-8形式,
u.encode是将unicode类按给定的编码方式转换成字节流str。
注意调用encode方法的是unicode对象,生成的是字节流;
调用decode方法的是str对象(字节流),生成的是unicode对象。
若str对象调用encode会默认先按系统默认编码方式decode成unicode对象再encode,忽视了中间默认的decode往往导致报错。
‘‘‘

class Once():
err = 0 # 登录异常数量
passed = 0 # 登录通过数量
fail = 0 # 登录失败数量
def login(self,user,passwd):
wd = webdriver.Firefox() # 打开浏览器
wd.get("http://192.168.15.82:8080/BabyPlan/login.jsp") # 打开项目网址
try:
w(wd, 10).until(lambda x: x.find_element_by_id("userName").is_displayed()) # 显示等待方法,同上
wd.find_element_by_id("userName").send_keys(user) # 找到对象后再赋值
wd.find_element_by_id("password").send_keys(passwd)
wd.find_element_by_id("loginForm").submit()
name = wd.find_element_by_partial_link_text(u"欢迎来到宝贝计划在线教育").text # 获取登录名元素
#print name
self.passed+=1
m = mf.makefile("log/login_pass.log")
m.w(u"账号:%s\n密码:%s\n" % (user, passwd))
# if(user == str(name).replace(u",欢迎来到宝贝计划在线教育","")):
# print u"登录成功!"

except:
try:# 登录失败
m = mf.makefile("log/login_fail.log")
m.w(u"账号:%s\n密码:%s\n" % (user, passwd))
self.fail+=0
except: # 登录异常
self.err+=1
m = mf.makefile("log/login_err.log")
m.w(u"账号:%s\n密码:%s\n" % (user, passwd))
finally:
wd.get_screenshot_as_file("log/login_fail_"+time.strftime(format("%Y_%m_%d_%H_%M_%S"))+".png")

finally:
wd.quit()

if __name__ == ‘__main__‘:
a = sql.getUser() # 获取到所有用户的数据(是一个字典)
Test = Once() # 实例化Test类
for i in a:
Test.login(i,a[i]) # 调用Test类里面的login方法,这样就不会影响到类变量的初始化,得到正确的执行数量
print u"执行总数:%d,成功数量:%d,失败数量:%d,异常数量%d" % (Test.passed + Test.fail + Test.err, Test.passed, Test.fail, Test.err)

login

标签:生成   user   element   导致   情况   set   sel   网址   ftime   

原文地址:http://www.cnblogs.com/alvis1/p/7497150.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!