#小蜜蜂电商平台单元测试自动化流程from selenium import webdriver #从selenium库里导入webdriver包
from time import sleep #导入睡眠
# from selenium.webdriver.common.action_chains import ActionChains
import unittest
from ui_text.HTMLTestRunnerCN import HTMLTestRunner
#导入HTMLTestRunner类,这个类是用来生成测试报告的class Test_all(unittest.TestCase):@classmethoddef setUpClass(cls):cls.driver = webdriver.Chrome()cls.driver.get('http://www.xmfstore.com')cls.driver.maximize_window()  # 最大化窗口sleep(2)@classmethoddef tearDownClass(cls):cls.driver.quit()def setUp(self):#登录模块self.driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[2]/a[1]').click()  # 点击‘请登录’进入登陆页面sleep(2)self.driver.find_element_by_id('username').send_keys('964782827@qq.com')  # 输入账号sleep(2)self.driver.find_element_by_id('password').send_keys('Hjc123456')  # 输入密码sleep(12)self.driver.find_element_by_xpath('//*[@id="loginform"]/div/div[5]/a').click()  # 点击登录sleep(2)def test_01(self):#购物模块self.driver.find_element_by_xpath('html/body/div[2]/div/div[3]/ul/li[1]/a').click()  # 点击进入商城首页sleep(2)self.driver.find_element_by_xpath('//*[@id="navitems"]/li[6]/a').click()  # 点击女装sleep(2)title = self.driver.titleprint(title)handle = self.driver.current_window_handle  # 获取当前窗口的句柄print(handle)all_handle = self.driver.window_handles  # 获取所有窗口的句柄print(all_handle)self.driver.switch_to.window(all_handle[-1])title1 = self.driver.titleprint(title1)self.driver.find_element_by_xpath('/html/body/div[4]/div/div/div[2]/ul/li[2]/div/a/img').click()  # 点击商品,进入商品界面sleep(2)self.driver.find_element_by_xpath('//*[@id="buy_goods_form"]/div/div[6]/ul/li[2]/div/a[2]').click()  # 点击商品数量+1sleep(2)self.driver.find_element_by_id('join_cart').click()  # 点击加入购物车sleep(2)self.driver.find_element_by_xpath('//*[@id="layui-layer1"]/span/a').click()#关闭弹窗sleep(2)self.driver.find_element_by_xpath('//*[@id="navitems"]/li[1]/a').click()  #进入首页sleep(2)def test_02(self):self.driver.find_element_by_xpath('/html/body/div[2]/div/div[3]/ul/li[1]/a').click()  # 点击进入商城首页sleep(3)from selenium.webdriver.common.action_chains import ActionChains  # 导入ActionChains包mouse = self.driver.find_element_by_xpath('//*[@id="hd-my-cart"]/a/div')ActionChains(self.driver).move_to_element(mouse).perform()  # 鼠标悬停sleep(2)self.driver.find_element_by_xpath('//*[@id="show_minicart"]/div/div/div[2]/a').click()  # 点击进入购物车sleep(3)self.driver.find_element_by_xpath('/html/body/div[4]/div/div/div/div[2]/div[2]/div[1]/a').click()  # 点击结算sleep(3)self.driver.find_element_by_id('addNewAddress').click()  # 点击新增收货地址sleep(3)self.driver.find_element_by_xpath('//*[@id="address_form"]/div[2]/div/div[2]/div[1]/div/input').send_keys('唐宋元明清')sleep(3)self.driver.find_element_by_xpath('//*[@id="address_form"]/div[2]/div/div[2]/div[2]/div/input').send_keys('0755-88886666')sleep(3)from selenium.webdriver.support.select import Select  # 导入Select类ele1 = self.driver.find_element_by_id('province')ele2 = self.driver.find_element_by_id('city')ele3 = self.driver.find_element_by_id('district')Select(ele1).select_by_visible_text('广东省')  # 通过值下拉选择sleep(2)Select(ele2).select_by_visible_text('广州市')  # 通过值下拉选择sleep(2)Select(ele3).select_by_visible_text('天河区')  # 通过值下拉选择sleep(2)self.driver.find_element_by_xpath('//*[@id="address_form"]/div[2]/div/div[2]/div[4]/div/input').send_keys('车陂汇德大厦')  # 填写文本sleep(3)self.driver.find_element_by_xpath('//*[@id="address_form"]/div[2]/div/div[2]/div[5]/div/input').send_keys('00000')  # 填写文本sleep(3)self.driver.find_element_by_id('address_submit').click()  # 点击保存sleep(3)self.driver.find_element_by_xpath('//*[@id="express_delivery_modes"]/div[2]/textarea').send_keys('我爱学习')  # 输入备注sleep(3)js1 = 'window.scrollTo(0,400)'  # 向下滑动self.driver.execute_script(js1)sleep(2)self.driver.find_element_by_id('payPwd').send_keys('123456')  # 填写支付密码sleep(3)js1 = 'window.scrollTo(400,1200)'  # 向下滑动self.driver.execute_script(js1)sleep(2)self.driver.find_element_by_xpath('/html/body/div[14]/div/button').click()  # 点击提交支付sleep(5)self.driver.find_element_by_xpath('/html/body/div[2]/div/div[1]/div/div[1]/div/a/img').click()  # 点击返回首页sleep(3)def tearDown(self):self.driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[2]/a[2]').click() #点击退出账号#第一种调用方式
# if __name__ == '__main__':# unittest.main()  #运行所有测试用例#第二种调用方式
# if __name__ == '__main__':
#     suite = unittest.TestSuite()#根据Testsuit这个类实例化一个对像suit#suit对象就相当于一个装着所有测试用例的容器(相当于RF的测试套件)# testcases = unittest.defaultTestLoader.discover(os.getcwd(),"Danyuanceshi.py")# =这条代码是调用'Danyuanceshi'这个文件的所有测试用例#suite.addTest(testcases)#unittest.TextTestRunner(verbosity=2).run(suite)#通过suit对象去调用了addTest方法添加需要执行的测试用例# suite.addTest(Test_all("test_01"))# suite.addTest(Test_all("test_02"))# suite.addTest(Test_all("test_03"))# suite.addTest(Test_all("test_04"))#通过suit对象去调用了addTests方法添加多个测试用例# suite.addTests([Test_all("test_01"),Test_all("test_02")])#通过runner对象去调用run方法执行已经被添加到suit的测试用例# 第一种写法# unittest.TextTestRunner().run(suite)#第二种写法# runner=unittest.TextTestRunner# runner.run(suite)# 第三种调用方式 ==》自动搜索测试用例+生成测试报告
# 定义一个搜索的路径
path='D://PycharmProjects//dcs28//ui_text'#根据TestLoader()这个类实例化一个discover对象
discover=unittest.TestLoader()
#通过discover()方法把path路径底下搜索匹配test*.py的文件
#把用例搜索出来,并给到discover存储
discover=discover.discover(start_dir=path,pattern='Danyuancesh*.py')filename=path+'\\'+'ui_report.html'
f=open(filename,'wb') #以二进制的方式写入文件内容
runner =HTMLTestRunner(stream= f,description='测试用例执行情况如下',title='自动化测试报告',tester='雨过云淡')
# runner =HTMLTestRunner(stream= f,description='测试用例执行情况如下',tester='666',title='自动化测试报告')
runner.run(discover)
f.close()

电商平台web自动化selenium+unittest相关推荐

  1. web电商系统、电商平台WEB端交互原型模板、用户中心、会员中心、优惠券、积分、互动社区、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务、Axure原型、rp原型、电商原型、商城系统原型

    作品介绍:web电商系统.电商平台WEB端交互原型模板.用户中心.会员中心.优惠券.积分.互动社区.运营推广.内容推荐.商品展示.订单流程.订单管理.售后及服务等完整的电商体系功能架构和业务流程 Ax ...

  2. 对于昨夜梦里对某外网电商平台web渗透测试总结体会

    1,信息收集 2,漏洞探测 3,漏洞利用 渗透测试漏洞挖掘,本质上就是一个不断失败的循环,尝试 -> 失败 -> 继续尝试 ->继续失败 -> .... 只有习惯了失败,不再抗 ...

  3. A3Mall电商平台——测试计划

    A3Mall电商平台web端测试计划 产品名称 A3Mall电商平台web端系统 文档编号 Planned number 1 版本号 1.0 页  数 19 文档名称: A3Mall电商平台web系统 ...

  4. 【图解版】银行电商平台技术解决方案

    1 产品技术方案 1.1 技术方案概述 1.1.1 系统功能架构   在银行电商平台中,包括各总分支行的管理人员.各家合作商户.会员.物流公司.支付平台等主要角色,通过电商平台进行信息流.资金流的交互 ...

  5. 化工行业S2B2C电商平台赋能化工产业互联网发展

    化工行业作为国家支柱产业之一,体量巨大,但由于多年的粗犷型发展,在互联网.人工智能高速发展的今天,传统的生产.流通环节也面临巨大的挑战和机遇. 化工产业已进入新常态,面临产能过剩.成本上升.效益下滑. ...

  6. 原材料行业S2B2C电商平台革新原材料产业链,推动业务增长

    原材料行业是个复杂的多样化的行业,它含类有:精细化工原材料.办公室耗材.纺织.医药原材料.环保原材料.化工原材料等.涉及的领域很广泛,所以很难在发展中形成一整条的产业链,实现各类别的大融合.现在通过互 ...

  7. 电商网站Web自动化测试实战( 编写京东搜索脚本python+selenium框架)

    电商网站Web自动化测试实战( 编写京东搜索脚本) 1,打开京东页 京东首页地址:https://www.jd.com/,故进入京东首页如下: 2,打开浏览器开发者模式 定位元素前需先打开浏览器开发者 ...

  8. 以太坊+IPFS+WEB 电商平台开发讲解

    以太坊+IPFS+WEB 电商平台开发讲解 作者: AlexTan CSDN: http://blog.csdn.net/alextan_ Github: https://github.com/Ale ...

  9. 买卖汽车电商交易平台、选车社区论坛、买新车、二手车交易平台、移动端汽车电商平台、web端汽车运营管理平台、供应商管理、营销商管理、新车交易管理、调车管理、汽车顾问、车库管理、出入库管理、Axure原型

    买卖汽车电商交易平台.选车社区论坛.买新车.二手车交易平台.移动端汽车电商平台.web端汽车运营管理平台.供应商管理.营销商管理.新车交易管理.调车管理.汽车顾问.车库管理.出入库管理.Axure原型 ...

最新文章

  1. 【Ant Design Pro 四】react 点击事件传参
  2. Tungsten Fabric SDN — 软件架构
  3. 乐观锁和悲观锁的使用场景及应用——Java高并发系列学习笔记
  4. 【Python】Python中的列表操作
  5. mysql 无法存储joda time的datetime类型
  6. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第34篇]描述攻击离散对数问题的baby-step/Giant-step方法
  7. 抖音与六大影视公司达成合作 一年内将至少与40部影片绑定营销
  8. 百度AI语音语义一体化技术 识别的同时进行语义分析
  9. 孩子忽悠家长充值?腾讯游戏在人脸识别中加入语音提醒
  10. 9;XHTML 多媒体
  11. halcon 深度学习英伟达显卡部署
  12. 【实用技巧】PDF文件去密码和去水印(文件转换网站等推荐)
  13. 古风宣纸背景教学课件讲座PPT模板
  14. 三菱plc程序三菱FX3U画圆程序,只要弄明白这个程序,就可以非常了解整个项目的程序如何去编写
  15. xp系统计算机配置在哪里设置,XP系统电脑进行声卡设置的方法介绍
  16. Android内存管理的原理--进程管理
  17. 写给理工科人看的乐理(一)声学基础
  18. 《运营力——微信公众号 设计 策划 客服 管理 一册通》导读
  19. C#中的异步和多线程
  20. NTC电阻抑制冷机启动浪涌电流

热门文章

  1. html中align属性的justify,css text-align属性简介说明
  2. 2021短视频市场高速发展,在互联网时代建立起强大的影响力。
  3. 探讨敏捷开发方法论的优点、核心机制以及应用场景,以帮助企业实现“敏捷转型”。
  4. git clone出现 fatal: unable to access ‘https://github.com/...
  5. Go指南练习之《slice》
  6. STM32用HAL库移植LORA(SX1276)的2.1版本驱动教程
  7. 使用Github+PicGo+jsDelivr CDN搭建免费图床
  8. 40+ 新鲜漂亮的大背景网站设计
  9. 今天第一天在b站学c语言
  10. 阿里达摩盘:如何运用“人货场”方法构建标签体系?