python3.6+selenium3.13 自动化测试项目实战一

一.项目介绍

  目的:

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

  用例:

    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 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 =

转载于:https://www.cnblogs.com/txx403341512/p/9354084.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值