Skip to main content

Je crois que la plupart des gens ont entendu parler de BDD, à savoir: Développer des lecteurs comportementaux, mais pas liés aux utilisateurs pratiques des utilisateurs et à la lutte. Par conséquent, cet article comprendra entièrement BDD et déployer et, éventuellement utiliser le cadre de Python BDD pour transférer au projet réel.




BDD, le développement de comportement en développement est une technologie développée par un logiciel agile, encourageant un soutien mutuel entre tous les membres de projets logiciels, le développement de logiciels traditionnels sur la principale Les inconvénients de la manière comprennent: des cas de test relativement célibataire, entraînant une couverture faible; Les entreprises et les produits ne peuvent pas bien comprendre les performances comportementales du produit.

Les principaux avantages de la BDD ont les 2 points suivants, principalement reflétés dans:
Peut réduire les coûts de contact entre les membres du projet, augmenter la coopération
BDD sera disponible dans des tests de lignes manuelles qui convertir en tentatives d'automatisation et de réformeEssais efficaces

BDD commence généralement à participer, produits ou entreprises en charge des besoins des produits, les exigences de produit. Développement et rédaction de logiciels dans les coulisses ci-dessous. Terminer BDD a été vérifié pour la première fois pour la première fois, il serait envoyé à l'entrepôt de stock après avoir eu des problèmes et enfin que le test a été intégré continuellement et testé uniquement en ligne.



Le mardi, la langue et les caractéristiques de Gherkin

Le gérokine est la langue de la langue fonctionnelle du concombre BDD, peut un support multilingue à travers naturel la langue, décrit un besoin spécifique, la langue du gérokin est le mot-clé anglais principal: script, donné, quand, puis, etc.; Ces mots-clés peuvent être convertis en un mot clé chinois par exemple: scène, participant, quand, attendre.
Les fonctions de fichier sont généralement placées.T nom: *. Caractéristiques, ce fichier peut enregistrer des besoins spécifiques et éventuellement le test d'automatisation

Spécifications d'écriture pour les fichiers de fonction comme suit:

Aucun tabulation ou onglet utilisé pour indenter
Chaque ligne commence par les paramètres de mot-clé Dans la trame BDD utilisez l'icône # pour commenter dans le fichier , que le chinois ou l'anglais est écrit, ": les icônes ne peuvent utiliser qu'un côlon en anglais, sinon on rapporterait être signalé




Ce qui suit est un fichier de fonction simple, une description de la logique de deux numéros:

# 功能文件(英文)Feature: Adding Scenario: Adding two numbers Given the input "1+1" When the calculator is run Then output should be "2"



Coor

Comport est un cadre BDD Python et peut être vérifié Avec l'outil de ligne de commande. Il peut facilement installer défini avec PIP

# 安装 behave 框架pip3 install behave

Après avoir écrit des fichiers fonctionnels, vous pouvez utiliser le traitement de la commande pour exécuter directement # 直接运行,控制台查看结果behave# 以中文来运行测试behave --lang=zh-CN


5. Dans Real Fighter

À titre d'exemple, pour le test d'automatisation de la recherche Google à titre d'exemple, pour une utilisation spécifique

Étape 1, Ecrire des fonctions de fichier, comme exemples en chinois

Voir tous les mots-clés chinois:


Ensuite, utilisez ces mots-clés pour combiner des comportements spécifiques et fonctionnalités de fichiers intéressants comme suit:

功能: Google搜索模块测试 场景大纲: Google搜索一个关键字功能 假如 搜索框输入一个关键字 <keyword> 当 点击搜索按钮 那么 页面标题应该为 <title> 例子: | keyword | title | | Python | Python - Google 搜索 | | AirPython | AirPython - Google 搜索 | doit être noté que les deux paramètres sont déterminés dans le fichier, à savoir: Mots-clés et les titres, les tests les plus automatisés dans le projet réel sont basés sur les paramètres de direction de données. Ils doivent donc être utilisés avec "Landscape de socket + par exemple".

ÉTAPE 2, Écrivez un fichier étape


Dossier de nouvelles étapes dans la fonctionnalité du même niveau, puis créez le fichier étape.py dans ce dossier

plus tard que, vous pouvez écrire des chèques sur les fichiers de fichiers écrits à l'étape 1
avec @ a donné, @hen, @ Décorez, le contenu du texte et les paramètres respectivement avec
enfin, utilisez la méthode API identifiée par selenium à opérer
, il sera indiqué queLe premier contexte de paramètre dans le nom de la méthode est un dictionnaire global qui peut être dans la méthode étape. Étape 3 Contenu from time import sleepfrom selenium.webdriver.common.keys import Keysfrom behave import *@given(u'搜索框输入一个关键字 {keyword}')def step_impl(context, keyword): element_input = context.driver.find_element_by_name('q') element_input.clear() print("准备输入") element_input.send_keys(keyword)@when(u'点击搜索按钮')def step_impl(context): # 模拟Enter键 context.driver.find_element_by_name("q").send_keys(Keys.ENTER) sleep(1)@then(u'页面标题应该为 {title}')def step_impl(context, title): assert context.driver.title == title [103] Exemple: Nous avons à l'origine un chromeRiver prédéfini Méthode précédente_feature (avant d'exécuter chaque fonctionnalité de scène), ouvrez la page d'accueil du site Web cible; Puis fermé le navigateur

après la méthode After_feature (exécutée après la fonction de test de script terminée) Étape 4, Rapport de vérification du concombre


Pour assurer l'installation de l'étape suivante de Jenkins, le rapport de test peut être affiché. Normalement, il est nécessaire de convertir le rapport de test créé par CUCOMBUMER Rapport de test JSON compatible

Premièrement, l'installation dépend de la bewave2CuCombre


def before_feature(context, feature): context.driver = webdriver.Chrome() context.driver.get("https://www.google.com/")def after_feature(context, feature): context.driver.quit(), puis réécrivez la méthode After_all dans le Profil de l'environnement précédent, convertissez le rapport de test du format actif en un rapport de concombre compatible

N'a pas besoin de noter que le rapport de test de concombre HL'opération est transformée en un rapport de test de concombre, il ne peut pas être affiché dans Jenkins. Il réduit ainsi la version 1.2.5
exécutez local # json测试报告文件转换pip3 install behave2cucumber dans les fonctions de fichier dans le même dossier de la classe,la commande suivante sera déployée, le rapport de test du format JSON après le format de format

def after_all(context): """ 所有测试完成之后执行 注意:behave1.2.6生成的json没法正常转换为cucumber兼容的json报告,建议降级为:1.2.5 :param context: :return: """ # 转换 with open('./test_report.json',encoding='utf-8') as behave_json: # 格式转换 cucumberJson = behave2cucumber.convert(json.load(behave_json)) jsonStr = json.dumps(cucumberJson) # 写入 jsonReport = open(r'./report/jsonReport.json', 'w',encoding='utf-8') jsonReport.write(jsonStr) jsonReport.close(), une intégration continue

Première construction de l'environnement Jenkins, puis installez le rapport de concombre. Plug-in

https://plugins.jenkins.io/cucumber-reports


Suivant, Mission New Freedom Project Department, Ajout d'étapes de construction - Mise en œuvre de Shell, écrit à Python # 以中文语言的形式在本地运行# 在本地产生测试报告behave --lang=zh-CN -f json.pretty -o './test_report.json'

À exécuter, ajoutez des opérations intégrées - Rapport CUCUMR, pointez sur le format JSON après le quatrième rapport de test STEP 7, après la construction , le script de test exécutera automatiquement et créera ensuite un rapport d'inspection visuel de journaux dans la barre de résultat. Vendredi, enfin Les postes sont simplement microUtilisez BDD dans le projet actuel via le cadre d'exploitation de Python. Si vous souhaitez l'utiliser dans un projet Java ou Golang, vous pouvez directement JBEHAVE ou Godog Framework, en plus de grampier, méthode d'activité mécanique version similaire.

Sujets

Catégories