多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

使用Selenium实现淘宝抢单-自动化测试

更新时间:2022-03-21 09:59:23 作者:多测师 浏览:270

  最近,小明为了达成小姐姐的愿望,在某宝买到心仪的宝贝,再加上又迷上了python,就通过python轻而易举地实现了。

  需求分析&前期准备

  开始之前,我们需要准备一下程序运行环境。

使用Selenium实现淘宝抢单-自动化测试

  环境

  系统:Windows/Mac OS

  Python版本:3.7.2

  为了让程序模拟我们每一步操作,给大家介绍一个利器:Selenium

  Selenium测试同学应该会感觉特别亲切。它是一个自动化测试工具,通过它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,所见即所得。

  Selenium的安装

  运行如下命令:

  pip install selenium

  但若想使用Selenium成功调用Chrome浏览器完成相应的操作,我们还需要一个媒介与浏览器对接。小明本次使用的是Chrome浏览器,因此就需要通过ChromeDriver来驱动。

  ChromeDriver的安装

  这里是谷歌浏览器ChromeDriver的官方下载地址:

  https://chromedriver.storage.googleapis.com/index.html

  我们需要根据自己的Chrome浏览器版本,找到相应版本的ChromeDriver,再根据你电脑系统的平台类型进行下载、解压。

  windows:将其放置在Python安装路径下Scripts文件夹下

  Mac OS:将其放置在/usr/local/bin下

  环境配置到此结束,小明编写了一个python脚本,用来验证环境搭建是否成功:

  from selenium import webdriver

  # 打开Chrome浏览器

  if __name__ == '__main__':

  browser = webdriver.Chrome()

  运行代码后,如果成功打开了一个新的浏览器,就证明我们的环境安装的没问题,接下来就可以愉快的购物了。

  脚本编写

  对比上面淘宝购物流程图,对应代码如下:

  打开淘宝网站

  browser.get("https://www.taobao.com")

  登录

  首先是跳转到登陆页

  browser.find_element_by_link_text("亲,请登录").click()

  登录方式选择二维码

  browser.find_element_by_class_name("icon-qrcode").click()

  用手机进行扫码成功之后进行下一步。

  登录成功后,打开购物车

  browser.get("https://cart.taobao.com/cart.htm")

  勾选商品

  browser.find_element_by_id("J_SelectAll1").click()

  推荐选择全选,但如果你的购物车商品比较多,又不想全选购买,那就暂先手动勾选想要下单的商品。

  结算

  browser.find_element_by_link_text("结 算").click()

  提交订单

  browser.find_element_by_link_text('提交订单').click()

  只要下单成功,接下来的付款,不用着急,只要在规定的时间内支付就好。

  以上就是完整购物的流程。那秒杀是如何实现呢?

  秒杀的实现

  思路其实很简单,就是在正常购物的基础上增加一个时间的判断:如果当前时间到了指定的时间点,就触发下单。

  获取当前时间,需要使用到datetime这个内置模块,代码如下:

  import datetime

  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

  代码梳理

  定义一个login函数,用来登录

  定义一个picking函数勾选购物车中的商品

  定义一个buy函数等待抢购时间,定时秒杀

  以上内容为大家介绍了自动化测试中的使用Selenium实现淘宝抢单,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部