-
Notifications
You must be signed in to change notification settings - Fork 0
/
auto_test.py
121 lines (95 loc) · 3.22 KB
/
auto_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# -*- coding: utf8 -*-
import sys
import re
import time
from splinter.browser import Browser
# from splinter import Browser
# from selenium import webdriver
# chromedriver = "D:\Program Files\Mozilla Firefox\firefox.exe"
# from selenium import webdriver
# browser = webdriver.Firefox()
# driver = webdriver.Firefox()
# driver.get('http://stackoverflow.com')
# driver.quit()
# from selenium import webdriver
# driver = webdriver.Chrome()
# driver = webdriver.Chrome('C:\Python27\chromedriver')
#####################################################
# global instance
CLOASE_AFTER_TEST = False
GBK = "gbk"
UTF8 = "utf8"
#####################################################
# encoding for console
reload(sys)
sys.setdefaultencoding(UTF8)
#####################################################
# small method
encoding = lambda x:x.encode('gbk')
#####################################################
def output(x):
"""
encode and print
"""
print encoding(x)
def resultMsg(x):
"""
judge result and print, x : True or False
"""
if x == True:
print 'pass'
else:
print '[X]not pass'
print '--------------------------'
def checkresult(x):
"""
check result message, x : the error message u want
"""
resultMsg(browser.is_text_present(x))
def testLogin(desc, username, password, result):
"""
fill login form message and submit, check result message and print
"""
output(desc)
browser.fill('user_name',username.decode(UTF8))
browser.fill('user_password',password.decode(UTF8))
# browser.find_by_value('登录').first.click()
browser.find_by_text('登录').first.click()
checkresult(result)
def testAddUser(desc,userName,name,age,country,school,pwd,result):
output(desc)
browser.fill('user',userName.decode(UTF8))
browser.fill('name',name.decode(UTF8))
# browser.fill('gender',sex)
browser.fill('age',age)
browser.fill('country',country.decode(UTF8))
browser.fill('academy',school.decode(UTF8))
browser.fill('password',pwd.decode(UTF8))
browser.find_by_id('save_written_btn').first.click()
checkresult(result)
# chrome driver : http://code.google.com/p/selenium/wiki/ChromeDriver
# already support firefox
# browser = Browser()
browser = Browser('chrome')
try:
#测试管理端登录
__loginUrl = 'http://192.168.201.100:8282/nrtadmin/login'
browser.visit(__loginUrl)
output("测试页面:"+browser.title)
testLogin('测试未输入用户名','','qq1122','请填写用户名')
testLogin('测试未输入密码','admin','','请填写密码')
testLogin('测试帐户不存在','qq','123456','用户名或者密码错误!')
testLogin('测试成功登录','admin','qq1122','继续登录前操作')
#测试添加用户
time.sleep(2)
output("接下来测试添加用户")
# __userUrl = "http://192.168.201.100:8282/nrtadmin/users/ajax-tpl?act=users"
# browser.visit(__userUrl)
time.sleep(3)
browser.find_by_id('add_user').first.click()
time.sleep(3)
testAddUser('测试完整填写','xxxxx','lmm',27,'中国','西普','123456','操作成功')
except Exception,x:
print x
if CLOASE_AFTER_TEST:
browser.quit()