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

17727591462

联系电话

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

Python和Selenium 自动化运行《人生重开模拟器》

更新时间:2022-03-10 09:50:19 作者:多测师 浏览:287

  背景

  最近有一款小游戏特别火,叫《人生重开模拟器》,这款游戏用黑色幽默的调侃形式,随机生成你的人生大事件列表,开场还能抽取天赋加点,趣味性十足。

  因为官网访问流量过大,有的朋友出现访问白屏、网页失效的情况,小编在这里发一个最新的人生重开模拟器在线链接:

  dushusir.com/life/

  不停地重开自己的人生之后,小编想着能不能写个脚本来自动化运行这款游戏,因为是纯网页操作,所以可以使用Python和Selenium组合的自动化测试神器来测试下。

Python和Selenium 自动化运行《人生重开模拟器》

  思路

  因为本质上这个游戏是一系列的网页操作,所以实现起来比较简单,就当是复习下Selenium的基本元素操作。想入门Python的童鞋可以看下,以前小编写过一个 Python+Selenium自动化测试合成大西瓜一样可以作为学习。

  注意:这不是一个智能的提高游戏分数的脚本,只是一个演示自动化测试学习案例,帮助大家更好的理解selenium的用法。

  开发环境

  1.下载Python并安装

  2.安装pip

  3.安装Selenium和浏览器webdriver

  mac平台和windows平台有所不同,安装时注意下环境。细节问题这里就不列出了,大家多用户谷歌。

  代码

  环境准备好之后,直接复制以下代码到.py文件里,比如main.py,执行。

  python main.py即可启动webdriver运行自动化人生重开模拟器。

  #!/usr/bin/python

  # -*- coding: UTF-8 -*-

  # 谷歌浏览器驱动

  from selenium import webdriver

  # sleep模块,让程序停止往下运行

  from time import sleep

  # 导入 random(随机数) 模块

  import random

  # 手机模式加载谷歌浏览器

  mobile_emulation = {'deviceName': 'iPhone 5'}

  options = webdriver.ChromeOptions()

  options.add_experimental_option("mobileEmulation", mobile_emulation)

  driver = webdriver.Chrome(chrome_options=options)

  # 设置浏览器大小

  driver.set_window_rect(0,0,700,700)

  sleep(1)

  # 打开设定的网址

  driver.get('https://dushusir.com/life')

  # 隐式等待

  driver.implicitly_wait(5)

  # 点击 立即重开

  restart = driver.find_element_by_id('restart')

  restart.click()

  sleep(1)

  # 点击 10连抽

  driver.find_element_by_id('random').click()

  sleep(1)

  # 随机1-10数字,用于抽中天赋卡

  randomOne = random.randint(1,3)

  randomTwo = random.randint(4,6)

  randomThree = random.randint(7,10)

  # 找到三张天赋卡按钮并点击

  driver.find_element_by_css_selector("#talents li:nth-of-type("+ str(randomOne) +")").click()

  driver.find_element_by_css_selector("#talents li:nth-of-type("+ str(randomTwo) +")").click()

  driver.find_element_by_css_selector("#talents li:nth-of-type("+ str(randomThree) +")").click()

  # 点击确认:“请选择3个”

  driver.find_element_by_css_selector("#next").click()

  sleep(1)

  # 点击随机分配

  driver.find_element_by_css_selector("#random").click()

  sleep(2)

  # 开始新人生

  driver.find_element_by_css_selector("#start").click()

  # 持续点击人生大事件列表区域,直到列表区域内容不再增加,即表明人生结束

  isOver = False # 结束标识

  life = 0 # 前一个life长度

  while(not isOver):

  # 点击列出人生大事件

  driver.find_element_by_css_selector("#lifeTrajectory").click()

  print('点击一次'+str(life))

  sleep(1)

  # 注意必须使用find_elements,不是find_element,否则len方法会报错

  li = driver.find_elements_by_css_selector("#lifeTrajectory li")

  currt_life = len(li)

  # 如果列表在继续增加,则继续点击;一旦不再增加,表明你挂了

  if currt_life > life:

  life = currt_life

  else:

  isOver = True

  print('结束')

  # 点击人生总结

  driver.find_element_by_id('summary').click()

  sleep(5)

  driver.quit()

  总结

  程序写的比较粗略,很多细节还没有完善,不过可以作为小案例参考,也欢迎大家批评指出问题。后续有时间再分享更多有用的测试脚本和好玩的游戏。

  以上内容为大家介绍了Python和Selenium 自动化运行《人生重开模拟器》,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部