python web自动化项目实战_python3.6+selenium3.13 自动化测试项目实战一

本文是关于使用Python3.6和Selenium3.13进行Web自动化测试的实战项目,目标是测试某官方网站的登录功能。包括五个测试用例,涉及正确和错误的用户名、密码组合,以及空输入等场景。项目旨在实现脚本可移植、模块化、数据分离和测试报告输出。文章详细介绍了脚本设计模式和具体实现步骤。
摘要由CSDN通过智能技术生成

一.项目介绍

目的:

测试某官方网站登录功能模块可以正常使用

用例:

1.输入格式正确的用户名和正确的密码,验证是否登录成功;     2.输入格式正确的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;     3.输入格式正确的用户名和任意密码,验证是否登录失败,并且提示信息正确;     4.用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;     5.用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;

环境:

Windows10 +Python3.6+selenium3.13+Pycharm

环境我想大多数人都会搭建,有事没事找百度,一搜一箩筐,哈哈!我自己刚学的时候也是各种问题各种百度,好在都解决了,感谢有度娘这么强大的存在!这里就不写环境怎么搭建了,直接进入主题

二.脚本设计

目的:

我们的测试脚本需要达到:脚本可移植,脚本模块化,测试数据分离,输出测试报告 等目的

脚本设计模式:

代码实现:

项目目录结构

注:下面的文件存放在同一个目录下

login_test.py 文件

1 #! user/bin/python

2 '''

3 代码说明:麦子学院登录模块自动化测试用例脚本

4 编写日期:

5 设置者:linux超

6 '''

7

8 importtime

9 from selenium importwebdriver

10 from webinfo importwebinfo

11 from userinfo importuserinfo

12 from log_fiile importlogin_log

13 from pathlib importPath

14

15 defopen_web():

16 driver =webdriver.Firefox()

17 driver.maximize_window()

18 returndriver

19

20 defload_url(driver,ele_dict):

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

22 time.sleep(5)

23

24 deffind_element(driver,ele_dict):

25 #find element

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

27 if 'text_id' inele_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 returnuser_id,pwd_id,login_id

34

35 defsend_val(ele_tuple,arg):

36 #input userinfo

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

38 i =0

39 for key inlistkey:

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 defcheck_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 returnTrue

58 returnresult

59 deflogin_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 deflogin_test():

78 log =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值