python自动化测试项目实战_第一个python&selenium自动化测试实战项目 -Fun言

这是一个关于自动化测试的Python脚本,主要用于麦子学院登录模块的测试。脚本涵盖了打开网页、加载URL、查找元素、输入用户名和密码、检查登录成功或失败的功能,并能捕获错误信息进行截图和日志记录。它读取了包含网页信息和用户信息的外部文件,实现了对多个用户登录情况的遍历测试。
摘要由CSDN通过智能技术生成

1 #! user/bin/python

2 '''

3 代码说明:麦子学院登录模块

自动化测试用例脚本

4 编写日期:

5 设置者:linux超

6 '''

7

8 import time

9 from

selenium import webdriver

10 from webinfo import webinfo

11 from userinfo import userinfo

12 from log_fiile import login_log

13 from pathlib import Path

14

15 def open_web():

16     driver = webdriver.Firefox()

17     driver.maximize_window()

18     return driver

19

20 def load_url(driver,ele_dict):

21     driver.get(ele_dict['Turl'])

22     time.sleep(5)

23

24 def find_element(driver,ele_dict):

25     # find element

26     driver.find_element_by_class_name(ele_dict['image_id']).click()

27     if 'text_id' in ele_dict:

28         driver.find_element_by_link_text('登录').click()

29

30     user_id = driver.find_element_by_id(ele_dict['userid'])

31     pwd_id = driver.find_element_by_id(ele_dict['pwdid'])

32     login_id = driver.find_element_by_id(ele_dict['loginid'])

33     return user_id,pwd_id,login_id

34

35 def send_val(ele_tuple,arg):

36     # input userinfo

37     listkey = ['uname','pwd']

38     i = 0

39     for key in listkey:

40         ele_tuple[i].send_keys('')

41         ele_tuple[i].clear()

42         ele_tuple[i].send_keys(arg[key])

43         i+=1

44     ele_tuple[2].click()

45 def check_login(driver,ele_dict,log,userlist):

46     result = False

47     time.sleep(3)

48     try:

49         err = driver.find_element_by_id(ele_dict['error'])

50         driver.save_screenshot(err.text+'.png')

51         log.log_write('账号:%s 密码:%s 提示信息:%s:failed\n' %(userlist['uname'],userlist['pwd'],err.text))

52         print('username or password error')

53     except:

54         print('login success!')

55         log.log_write('账号:%s 密码:%s :passed\n'%(userlist['uname'],userlist['pwd']))

56         #login_out(driver,ele_dict)

57         return True

58     return result

59 def login_out(driver,ele_dict):

60     driver.find_element_by_class_name(ele_dict['logout']).click()

61 '''

62 def screen_shot(err):

63     i = 0

64     save_path = r'D:\pythondcode\capture'

65     capturename = '\\'+str(i)+'.png'

66     wholepath = save_path+capturename

67     if Path(save_path).is_dir():

68         pass

69     else:

70         Path(save_path).mkdir()

71     while Path(save_path).exists():

72         i+=1

73         capturename = '\\'+str(i)+'.png'

74         wholepath = save_path + capturename

75     err.screenshot(wholepath)

76 '''

77 def login_test():

78     log = login_log()

79     #ele_dict = {'url': 'http://www.maiziedu.com/', 'text_id': '登录', 'user_id': 'id_account_l', 'pwd_id': 'id_password_l'

80         #, 'login_id': 'login_btn','image_id':'close-windows-btn7','error_id':'login-form-tips'}

81     ele_dict = webinfo(r'D:\pythoncode\webinfo.txt')

82     #user_list=[{'uname':account,'pwd':pwd}]

83     user_list = userinfo(r'D:\pythoncode\userinfo.txt')

84     driver = open_web()

85     # load url

86     load_url(driver,ele_dict)

87     #find element

88     ele_tuple = find_element(driver,ele_dict)

89     # send values

90     ftitle = time.strftime('%Y-%m-%d', time.gmtime())

91     log.log_write('\t\t\t%s登录

系统测试报告\n' % (ftitle))

92     for userlist in user_list:

93         send_val(ele_tuple,userlist)

94         # check login success or failed

95         result = check_login(driver,ele_dict,log,userlist)

96         if result:

97             login_out(driver,ele_dict)

98             time.sleep(3)

99             ele_tuple = find_element(driver,ele_dict)

100     time.sleep(3)

101     log.log_close()

102     driver.quit()

103

104 if __name__ == '__main__':

105     login_test()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值