tag 标签: 10章

相关资源
  • 所需E币: 0
    时间: 2023-12-16 12:41
    大小: 4.12KB
    一站式通关CKA证书-Kubernetes管理员认证(CKA)-Kubernetes管理员认证(CKA)计划的目的是提供CKA管理员具有执行Kubernetes管理员职责的技能﹑知识和能力的保证。这个CKA证书是云原生计算基金会CNCF组织的,比国内的一些含水量很大的证书强太多了。CKA证书是云原生计算基金会CNCF组织的,它考察的是你是否具备足够管理Kubernetes集群的必备知识。考试形式是上机直接在集群上操作,限时3小时,非常考验个人知识的扎实程度和Kubernetes实践经验。无论你上了什么课,考试报名费都是交给CNCF的,证书也是他们发的,只要考上75分,你就能拿到证书,也能学到不少知识。我们的配置文件已经写好了,后续新增的一些配置,都可以写在这个文件里,我们只要按需读取就可以了,那怎么来读取yaml文件中的数据呢?我们在common包下新建一个py文件,叫yaml_config.py,这个文件里会写一些读取配置文件相关的方法。一般在python中读取文件的内容,都是使用open这个方法。file=open("environment.yaml",encoding='utf-8')try: a=file.read() print(a)exceptExceptionase: print(e)finally: file.close()安装好以后我们开始正式写yaml_config中的方法。pyyaml读取了yaml后,会把yaml文件的内容转成python中字典的形式,这样我们就可以很方便的读取其中的某个值了。importyamlclassGetConf:  def__init__(self):    #withopen的第一个参数填写environment.yaml的绝对路径    withopen("/Users/fengzhaoxi/imooc/code/trading_system_autotest/config/environment.yaml","r")asenv_file:      self.env=yaml.load(env_file,Loader=yaml.FullLoader)      print(self.env)  defget_username_password(self):    returnself.env["username"],self.env["password"]    if__name__=='__main__':  GetConf().get_username_password()第二点:获取到了项目目录,下面我们需要把项目目录跟environment.yaml在项目中的相对路径拼接,拼接成environment.yaml的绝对路径。因为不同操作系统中的文件分隔符是不同的,所以在python中最好不要通过字符串去拼接分隔符,否则换了操作系统去运行可能就会出错,需要使用os.sep来添加分隔符,所以我们写一个方法defsep(path,add_sep_before=False,add_sep_after=False):  """  系统分隔符  Args:    path:路径列表,类型为数组    add_sep_before:是否需要在拼接的路径前加一个分隔符    add_sep_after:是否需要在拼接的路径后加一个分隔符  Returns:  """  all_path=os.sep.join(path)  ifadd_sep_before:    all_path=os.sep+all_path  ifadd_sep_after:    all_path=all_path+os.sep  returnall_path我们再回到yaml_config.py,我们获取environment.yaml的绝对路径,就是项目目录加上environment.yaml在项目中的项目目录。最后修改的完整方法如下importyamlfromtoolsimportget_project_path,sepclassGetConf:  def__init__(self):    project_dir=get_project_path()    withopen(project_dir+sep(['config','environment.yaml'],add_sep_before=True),"r")asenv_file:      self.env=yaml.load(env_file,Loader=yaml.FullLoader)      print(self.env)  defget_username_password(self):    returnself.env["username"],self.env["password"]if__name__=='__main__':  GetConf().get_username_password()备考难度不低,所以相关培训课程都不便宜。如果决心要考,准备一段时间反复看文档、做实验是必须的,CKA的学习曲线很陡峭,它更多靠的是个人自觉和毅力classLeftMenuBase:  deflevel_one_menu(self,menu_name):    """    一级菜单    :parammenu_name:    :return:    """    return"//aside[@class='el-aside']//span[text()='"+menu_name+"']/ancestor::li"  deflevel_two_menu(self,menu_name):    """    二级菜单    :parammenu_name:    :return:    """    return"//aside[@class='el-aside']//span[text()='"+menu_name+"']/ancestor::li[1]"我们来举一个场景的例子,我们之前有个用例,是进入到已买到的宝贝页面,然后依次点击页面上的按钮,比如”全部“、”待付款“、”待发货“、”运输中“等等,我们当时是通过一个list,然后循环来点击。我们也可以通过pytest.mark.parametrize来修改这个用例fromtimeimportsleepimportpytestfrompage.LeftMenuPageimportLeftMenuPagefrompage.LoginPageimportLoginPagefrompage.OrderPageimportOrderPagetab_list=["全部","待付款","待发货","运输中","待确认","待评价"]classTestOrderBuy:  @pytest.mark.parametrize("tab",tab_list)  deftest_order_buy(self,driver,tab):    LoginPage().login(driver,"william")    LeftMenuPage().click_level_one_menu(driver,"我的订单")    sleep(1)    LeftMenuPage().click_level_two_menu(driver,"已买到的宝贝")    sleep(2)    OrderPage().click_order_tab(driver,tab)    sleep(2)我们再来写一个用例,将我们的订单发布参数化fromtimeimportsleepimportpytestfrompage.LoginPageimportLoginPagefrompage.LeftMenuPageimportLeftMenuPagefrompage.GoodsPageimportGoodsPagegoods_info_list=[  {    "goods_title":"新增批量商品测试1",    "goods_details":"新增商品测试详情1",    "goods_num":1,    "goods_pic_list":["商品图片一.jpg"],    "goods_price":100,    "goods_status":"上架",    "bottom_button_name":"提交"  },  {    "goods_title":"新增批量商品测试2",    "goods_details":"新增商品测试详情2",    "goods_num":2,    "goods_pic_list":["商品图片一.jpg"],    "goods_price":200,    "goods_status":"上架",    "bottom_button_name":"提交"  }]classTestParametrizeAddGoods:  @pytest.mark.parametrize("goods_info",goods_info_list)  deftest_parametrize_add_goods(self,driver,goods_info):    LoginPage().login(driver,"jay")    LeftMenuPage().click_level_one_menu(driver,"产品")    sleep(1)    LeftMenuPage().click_level_two_menu(driver,"新增二手商品")    sleep(2)    GoodsPage().add_new_goods(      driver,      goods_title=goods_info["goods_title"],      goods_details=goods_info["goods_details"],      goods_num=goods_info["goods_num"],      goods_pic_list=goods_info["goods_pic_list"],      goods_price=goods_info["goods_price"],      goods_status=goods_info["goods_status"],      bottom_button_name=goods_info["bottom_button_name"]    )    sleep(3)底下我们想要测试用例执行的时候就更新测试进度,存储对应的测试结果我们在common下新建一个py文件叫process_redis,我们把可能的情况都写好fromcommon.toolsimportget_now_timefromcommon.redis_operationimportRedisOperationclassProcess:  def__init__(self):    self.redis_client=RedisOperation().redis_client    self.UI_AUTOTEST_PROCESS="ui_autotest_process"    self.FAILED_TESTCASE_NAMES="failed_testcase_names"    self.RUNNING_STATUS="running_status"  defreset_all(self):    #删除所有进度    self.redis_client.delete(self.UI_AUTOTEST_PROCESS)    #删除所有失败用例的名称    self.redis_client.delete(self.FAILED_TESTCASE_NAMES)  definit_process(self,total):    """    初始化进度,包括总数、成功数、失败数、开始时间,运行状态    :paramtotal:    :return:    """    self.redis_client.hset(self.UI_AUTOTEST_PROCESS,"total",total)    self.redis_client.hset(self.UI_AUTOTEST_PROCESS,"success",0)    self.redis_client.hset(self.UI_AUTOTEST_PROCESS,"fail",0)    self.redis_client.hset(self.UI_AUTOTEST_PROCESS,"start_time",get_now_time())    self.redis_client.hset(self.UI_AUTOTEST_PROCESS,"end_time","")    self.redis_client.set(self.RUNNING_STATUS,1)  defupdate_success(self):    """    成功用例个数+1    Returns:    """    self.redis_client.hincrby(self.UI_AUTOTEST_PROCESS,"success")  defupdate_fail(self):    """    失败用例个数+1    Returns:    """    self.redis_client.hincrby(self.UI_AUTOTEST_PROCESS,"fail")  definsert_into_fail_testcase_names(self,fail_testcase_name):    """    增加失败用例名称    Returns:    """    self.redis_client.lpush(self.FAILED_TESTCASE_NAMES,fail_testcase_name)  defget_process(self):    """    获取进度,计算百分比    Returns:    """    total,success,fail,_=self.get_result()    iftotal==0:      return0    else:      result="%.1f"%((int(success)+int(fail))/int(total)*100)+"%"      returnresult  defget_result(self):    """    获取测试结果    Returns:    """    total=self.redis_client.hget(self.UI_AUTOTEST_PROCESS,"total")    iftotalisNone:      total=0    success=self.redis_client.hget(self.UI_AUTOTEST_PROCESS,"success")    ifsuccessisNone:      success=0    fail=self.redis_client.hget(self.UI_AUTOTEST_PROCESS,"fail")    iffailisNone:      fail=0    start_time=self.redis_client.hget(self.UI_AUTOTEST_PROCESS,"start_time")    ifstart_timeisNone:      start_time='-'    returntotal,success,fail,start_time  defget_fail_testcase_names(self):    """    获取所有失败的用例名称    Returns:    """    fail_testcase_names=self.redis_client.lrange(self.FAILED_TESTCASE_NAMES,0,-1)    returnfail_testcase_names  defwrite_end_time(self):    """    把测试结束时间写入redis    Returns:    """    self.redis_client.hset(self.UI_AUTOTEST_PROCESS,"end_time",get_now_time())  defwrite_jenkins_build_number(self,build_number):    """    把jenkins执行的build_number写入redis    Args:      build_number:
  • 所需E币: 0
    时间: 2023-7-8 19:58
    大小: 1.4KB
    上传者: 开心就很好了
    玩转热门框架用企业级思维开发通用够硬的大数据平台课程下载,视频+源码+安装包下载!1、通过真实开发场景认识并理解各个模块的,设计思想&解决方案2、一个完整项目带你建立大数据技术大局观,俯瞰全项目理解通用型平台架构思想细数各组件掌握大数据开发高频技术3、常用架构分析选型逐层深入打造大数据开发知识体系,全局认识大数据开发流程技术选型+思想提升+开发技能全都能学到4、么是通用大数据平台?使用场景是什么?通用意味着它包含了大数据平台要实现的最重要也最关键的功能,是无论什么业务场景,都需要考虑的功能。分为五大模块:权限管理、任务调度、计算引擎、查询分析、集群监控。其中任务调度和查询分析是一个大数据平台中的重难点。通过前几章的思维提升和概念理解之后,再配合后面的开发,最终能实现一个属于你自己的大数据平台。整个过程对你的开发能力和大数据全局意识都有质的飞跃。5、什么叫“大数据大局观”?和其他大数据课程有什么不同呀?直接学具体的开发不行吗?课程是想帮助同学,更好的系统的掌握大数据平台开发。从头到尾弄明白什么是大数据平台,为什么要建大数据平台,对整个平台脑子中有清楚的认识。而不是只有具体的某个框架和“大数据”三个字。其实,不论是学习哪种技术,直接扎到具体的细节中,亦或是从一个很小的点开始学习,你很快就会感到厌烦。为什么呢?因为你虽然快速地搞定了某个技术细节,但无法建立全局的认知观,这会导致你只是在单个的点上有所进展,却没法将其串联成一条线进而扩展成一个面,从而实现系统地学习。
  • 所需E币: 0
    时间: 2023-2-5 17:52
    大小: 1022.31KB
    上传者: 开心就很好了
    分享一套医疗小程序的视频教程——《SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序》,课程一共10章,提供源码和电子书下载!2023年2月完结新课!本课程以业务驱动技术栈,打造业务相对完整的掌上医疗小程序,解决大家没有好的毕设项目或者求职项目的困境。本课程案例采用前后端分离架构,业务功能完善(既有WEB管理端,也有移动用户端),界面美观,无需艰涩的技术也能做出亮眼的作品。无论求职还是毕设,都需要优质的作品,才可能在激烈的竞争中脱颖而出,借助一个业务完整/技术热门的全栈项目,展示你优秀的业务素质与综合技术能力。与时俱进的行业项目案例,打造具有辨识度的个人作品。管理端+用户端双系统开发,还原真实工作场景功能。带你打造作品的同时收获扎实的业务拆解能力!前端+后端+移动端多技术栈综合使用,手把手带你进行技术落地!本课程的正确打开方式是视频+电子书相结合一起学习,如果你只看视频,或者只对着电子书写代码,都会错过很多细节。
  • 所需E币: 0
    时间: 2022-3-4 21:06
    大小: 299.15KB
    上传者: samewell
    第10章数据仓库的设计复查要目.PDF
  • 所需E币: 0
    时间: 2021-4-24 22:30
    大小: 1.12MB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 0
    时间: 2021-4-13 17:15
    大小: 146.21KB
    上传者: LiuSirSZ
    10章直流电源题解.rar
  • 所需E币: 0
    时间: 2021-3-24 21:56
    大小: 23.26KB
    上传者: stanleylo2001
    ARM9嵌入式系统设计基础教程电子课件_第10章Bootloader设计基础
  • 所需E币: 0
    时间: 2021-3-20 17:38
    大小: 2.86MB
    上传者: Argent
    这些都是各大名校的电路分析专业课之最大法宝,把这些题目悉心研究几遍,定会考出高分。无论对于即将考研的你,还是即将走向电子工程师岗位的你,都会获益匪浅。希望大家利用好这些历年真题,对于你今后的电子电路设计有所帮助。
  • 所需E币: 2
    时间: 2021-3-20 20:18
    大小: 23.25KB
    上传者: samewell
    ARM9嵌入式系统设计基础教程电子课件第10章Bootloader设计基础
  • 所需E币: 0
    时间: 2021-3-20 20:33
    大小: 586.4KB
    上传者: samewell
    传感器原理及应用-第10章
  • 所需E币: 0
    时间: 2021-3-21 17:45
    大小: 21.89KB
    上传者: Goodluck2020
    ARM9嵌入式系统设计基础教程电子课件第10章Bootloader设计基础
  • 所需E币: 0
    时间: 2021-3-22 17:11
    大小: 23.22KB
    上传者: Goodluck2020
    ARM9嵌入式系统设计基础教程-第10章Bootloader设计基础
  • 所需E币: 3
    时间: 2021-3-22 17:42
    大小: 23.09KB
    上传者: Goodluck2020
    第10章Bootloader设计基础.zip
  • 所需E币: 0
    时间: 2021-3-17 15:47
    大小: 406KB
    上传者: Argent
    随着人工智能的不断崛起,当今对人工智能产品开发的人才需求也日益增加,从原来的单片机应用到现在的系统级高度集成的CPU开发,人类在电子领域不断创新,本人收集了有关机器人开发的资料,对这方面感兴趣的电子工程师们可以相互交流、借鉴学习。
  • 所需E币: 1
    时间: 2020-12-30 15:28
    大小: 298.37KB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 0
    时间: 2020-12-27 22:43
    大小: 15.42KB
    上传者: stanleylo2001
    MATLAB培训资料_第10章非线性方程组求解
  • 所需E币: 0
    时间: 2020-9-21 10:49
    大小: 21.79KB
    上传者: LGWU1995
    ARM9嵌入式系统设计基础教程电子课件-第10章Bootloader设计基础
  • 所需E币: 0
    时间: 2020-9-17 22:07
    大小: 179.63KB
    上传者: kaidi2003
    典型题解——第10章含有耦合电感的电路
  • 所需E币: 0
    时间: 2020-9-16 18:29
    大小: 2.22MB
    上传者: kaidi2003
    要点、考点与例题——第10章含有耦合电感的电路
  • 所需E币: 0
    时间: 2020-9-16 18:34
    大小: 552.83KB
    上传者: kaidi2003
    同步习题与详解——第10章含有耦合电感的电路