国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Django+Pytest,教你搭建在線自動化測試平臺

89542767 / 888人閱讀


  小編寫這篇文章的主要目的,就是教給大家,如何使用Django+Pytest,并用Django+Pytest搭建在線自動化測試平臺,具體怎么做呢?下面給大家做一個詳細的解答。


  一、測試平臺:


  解決分散用例執行方式,提供統一測試用例執行過程、用例管理、測試報告


  主要是基于:


  fastapi+vue.js


  django+vue.js


  django


  二、搭建過程


  2.1使用django搭建一個web系統


  1.創建項目


  django-admin startproject TestPlatform


  創建python的包,測試平臺的配置和功能


  2.創建app


  django-admin startapp web


  創建python的包,具體的功能代碼


  (1)在TestPlatform/Web/apps.py中注冊app


 from django.apps import AppConfig
  class WebConfig(AppConfig):
  #default_auto_field='django.db.models.BigAutoField'
  name='Web'
  verbose_name="自動化測試"


  (2)在TestPlatform/TestPlatform/settings.py中進行相關設置


  INSTALLED_APPS=[
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'Web.apps.WebConfig'
  ]
  LANGUAGE_CODE='zh-hans'#設置中文
  TIME_ZONE='Asia/Shanghai'#設置時區
  USE_I18N=True
  USE_L10N=True
  USE_TZ=False
  MEDIA_ROOT='uploads/'
  MEDIA_URL='uploads/'


  (3)編輯TestPlatform/TestPlatform/urls.py文件


  from django.conf import settings
  from django.conf.urls.static import static
  from django.contrib import admin
  from django.urls import path
  #定義http路由,是web系統的入口點
  urlpatterns=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)+[
  path('',admin.site.urls),
  ]


  (4)啟動測試平臺


  

    python manage.py runserver


  2.2搭建測試框架


  1.定義model


  model驅動開發
  import pathlib
  from django.db import models
  #定義model
  #抽象化
  from django.utils import html
  class Task(models.Model):
  name=models.CharField("用例名稱",max_length=20)
  case=models.FileField("用例文件",upload_to='tests/%Y_%m_%d_%H_%M_%S/')
  status=models.IntegerField(
  "測試狀態",default=-1,choices=[
  (-1,'初始化'),
  (0,'馬上執行'),
  (1,'正在執行測試用例'),
  (2,'正在生成測試報告'),
  (3,'執行完畢'),
  ]
  )
  run_datatime=models.DateTimeField(
  "最近執行時間",null=True,blank=True
  )
  class Meta:
  verbose_name_plural=verbose_name="測試任務"
  def __str__(self):
  return self.name
  def get_url(self,_type):
  """生成報告或者測試日志的Url"""
  if self.case and self.status==3:#執行完畢
  case_path=pathlib.PurePosixPath(str(self.case))
  root_path=pathlib.PurePosixPath('/uploads')
  if _type=='report':#報告的url
  report_path=root_path/case_path.parent/"report/index.html"
  elif _type=='log':#日志的url
  report_path=root_path/case_path.parent/"pytest.txt"
  else:
  report_path='_'
  return html.format_html(f"<a href='{report_path}'target='_blank'>點擊查看</a>")
  else:
  return"-"

  2.定義界面


 from django.contrib import admin
  from.models import Task
  #Register your models here.
   admin.register(Task)
  class TaskAdmin(admin.ModelAdmin):
  #決定了model怎么顯示
  list_display=("id","name","status","run_datatime",
  "report_url","log_url",
  )
  #要顯示的字段
  readonly_fields=('run_datatime',)
  def report_url(self,obj):
  return obj.get_url('report')
  report_url.short_description='測試報告'
  def log_url(self,obj):
  return obj.get_url('url')
  log_url.short_description='執行日志'

  3.執行數據庫遷移


  python manage.py makemigrations
  python manage.py migrate


  三、平臺如何管理


  1.創建管理員賬號


  python manage.py createsuperuser


  用戶名:admin


  郵箱:admin qq.com


  密碼:admin


  2.調整頁面顯示


  3.執行測試用例


  在models.py文件中調用pytest,pytest執行yaml文件(關鍵字驅動)


  import pathlib
  from datetime import datetime
  from django.db import models
  #定義model
  #抽象化
  from django.utils import html
  class Task(models.Model):
  name=models.CharField("用例名稱",max_length=20)
  case=models.FileField("用例文件",upload_to='tests/%Y_%m_%d_%H_%M_%S/')
  status=models.IntegerField(
  "測試狀態",default=-1,choices=[
  (-1,'初始化'),
  (0,'馬上執行'),
  (1,'正在執行測試用例'),
  (2,'正在生成測試報告'),
  (3,'執行完畢'),
  ]
  )
  run_datatime=models.DateTimeField(
  "最近執行時間",null=True,blank=True
  )
  class Meta:
  verbose_name_plural=verbose_name="測試任務"
  def __str__(self):
  return self.name
  def get_url(self,_type):
  """生成報告或者測試日志的Url"""
  if self.case and self.status==3:#執行完畢
  case_path=pathlib.PurePosixPath(str(self.case))
  root_path=pathlib.PurePosixPath('/uploads')
  if _type=='report':#報告的url
  report_path=root_path/case_path.parent/"report/index.html"
  elif _type=='log':#日志的url
  report_path=root_path/case_path.parent/"pytest.txt"
  else:
  report_path='_'
  return html.format_html(f"<a href='{report_path}'target='_blank'>點擊查看</a>")
  else:
  return"-"
  def save(self,*args,**kwargs):
  super().save(*args,**kwargs)
  #判斷是否需要啟動測試框架,執行測試用例
  if self.status==0:
  self.status=1#修改狀態:正在執行
  self.run_datatime=datetime.datetime.now()
  super().save()
  #啟動測試框架
  import pytest
  pytest.main(self.case.path)#執行指定的測試用例文件
  self.status=3#修改狀態:執行完畢
  self.run_datatime=datetime.datetime.now()
  super().save()


  綜上所述,相關知識就為大家解答到這里了,希望可以為各位讀者帶來幫助。


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/127753.html

相關文章

  • 《HelloGitHub》第 68 期

    摘要:整個項目簡單還具有實用價值,可作為的實戰項目學習的調試工具欄。查看文檔自動在個人首頁展示編程時長的工具。通過學習這些前沿的人工智能論文,提前了解在未來更多可能性可以將圖片和視頻轉換成漫畫風格的工具。興趣是最好的老師,HelloGitHub 讓你對編程感興趣!簡介HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。https://github.com/521xueweihan...

    番茄西紅柿 評論0 收藏2637
  • 蠎周刊 2015 年度最贊

    摘要:蠎周刊年度最贊親俺們又來回顧又一個偉大的年份兒包去年最受歡迎的文章和項目如果你錯過了幾期就這一期不會丟失最好的嗯哼還為你和你的準備了一批紀念裇從這兒獲取任何時候如果想分享好物給大家在這兒提交喜歡我們收集的任何意見建議通過來吧原文 Title: 蠎周刊 2015 年度最贊Date: 2016-01-09 Tags: Weekly,Pycoder,Zh Slug: issue-198-to...

    young.li 評論0 收藏0
  • 《HelloGitHub》第 68 期

    摘要:在線嘗試的進程管理工具。項目包含了代碼實現運行過程動畫以及相關論文為系統提供人臉識別解鎖電腦的工具。在線閱讀教科書計算機體系結構基礎第三版。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-b...

    番茄西紅柿 評論0 收藏2637
  • 一步一步教你如何搭建自己的視頻聚合站

    摘要:不過因為各個平臺互相挖人的關系,導致關注的一些主播分散到了各個直播平臺,來回切換有點麻煩,所以萌生了做一個視頻聚合站的想法。后續我們會對這三個部分的功能做逐一展開說明。正則處理要求比較高,但是幾乎能應對所有的情況,屬于大殺器。 前言 作為一個爐石傳說玩家,經常有事沒事開著直播網站看看大神們的精彩表演。不過因為各個平臺互相挖人的關系,導致關注的一些主播分散到了各個直播平臺,來回切換有點麻...

    justjavac 評論0 收藏0
  • 代寫文章列表

    摘要:技術配置與美化方案開發環境搭建自定義腳手架關系型數據庫簡明用法緩存系統使用部署開發異步任務系統進行文檔編寫進行代碼測試在中加入支付功能開源搜索引擎簡明用法開源日志引擎簡明用法開源監控系統簡明用法網絡爬蟲編寫簡明指南優雅進行代碼管理思路接口文 技術 Ubuntu配置與美化方案 Python開發環境搭建 自定義Django腳手架 關系型數據庫簡明用法 Django緩存系統使用 Fabri...

    GitCafe 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<