mirror of https://gitee.com/lym51/AutoLine.git
1. 新增用户简明教程 2. 新增安装部署教程
This commit is contained in:
parent
a36ad7b59e
commit
4448acb0e3
|
@ -2,8 +2,9 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="c5ae474a-e2fe-4b02-bccd-d8be882227ae" name="Default" comment="">
|
||||
<change beforePath="" afterPath="$PROJECT_DIR$/User Guide/User Guide/使用简明教程.md" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change beforePath="$PROJECT_DIR$/app/api/task.py" afterPath="$PROJECT_DIR$/app/api/task.py" />
|
||||
<change beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
|
@ -13,124 +14,107 @@
|
|||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<splitter split-orientation="horizontal" split-proportion="0.32900432">
|
||||
<split-first>
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="autoline.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/static/js/autoline.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="405">
|
||||
<caret line="208" column="40" lean-forward="false" selection-start-line="208" selection-start-column="40" selection-end-line="208" selection-end-column="40" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="runner.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/utils/runner.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="451">
|
||||
<caret line="98" column="22" lean-forward="false" selection-start-line="98" selection-start-column="22" selection-end-line="98" selection-end-column="22" />
|
||||
<folding>
|
||||
<element signature="e#94#103#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="README.md" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="630">
|
||||
<caret line="42" column="0" lean-forward="true" selection-start-line="42" selection-start-column="0" selection-end-line="42" selection-end-column="0" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</split-first>
|
||||
<split-second>
|
||||
<leaf>
|
||||
<file leaf-file-name="task.py" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/app/api/task.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="278">
|
||||
<caret line="83" column="13" lean-forward="false" selection-start-line="83" selection-start-column="13" selection-end-line="83" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="task_list.html" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/templates/task_list.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2">
|
||||
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="task.html" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/templates/task.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1050">
|
||||
<caret line="70" column="17" lean-forward="false" selection-start-line="70" selection-start-column="17" selection-end-line="70" selection-end-column="17" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="version.txt" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/version.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="6" lean-forward="true" selection-start-line="0" selection-start-column="6" selection-end-line="0" selection-end-column="6" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="history.md" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/history.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="60">
|
||||
<caret line="4" column="0" lean-forward="true" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="14" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="task.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/static/js/task.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="405">
|
||||
<caret line="27" column="1" lean-forward="true" selection-start-line="27" selection-start-column="1" selection-end-line="27" selection-end-column="1" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="manage.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/manage.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="417">
|
||||
<caret line="37" column="15" lean-forward="true" selection-start-line="37" selection-start-column="15" selection-end-line="37" selection-end-column="15" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</split-second>
|
||||
</splitter>
|
||||
<leaf>
|
||||
<file leaf-file-name="task.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/api/task.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="428">
|
||||
<caret line="93" column="37" lean-forward="false" selection-start-line="93" selection-start-column="37" selection-end-line="93" selection-end-column="37" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="使用简明教程.md" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/User Guide/User Guide/使用简明教程.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="589">
|
||||
<caret line="204" column="0" lean-forward="true" selection-start-line="204" selection-start-column="0" selection-end-line="204" selection-end-column="0" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="450">
|
||||
<caret line="30" column="0" lean-forward="true" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="task_list.html" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/templates/task_list.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2">
|
||||
<caret line="25" column="0" lean-forward="false" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="task.html" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/templates/task.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1050">
|
||||
<caret line="70" column="17" lean-forward="false" selection-start-line="70" selection-start-column="17" selection-end-line="70" selection-end-column="17" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="version.txt" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/version.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="6" lean-forward="true" selection-start-line="0" selection-start-column="6" selection-end-line="0" selection-end-column="6" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="history.md" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/history.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="60">
|
||||
<caret line="4" column="0" lean-forward="true" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="14" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="task.js" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/app/static/js/task.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="405">
|
||||
<caret line="27" column="1" lean-forward="true" selection-start-line="27" selection-start-column="1" selection-end-line="27" selection-end-column="1" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="manage.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/manage.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="417">
|
||||
<caret line="37" column="15" lean-forward="true" selection-start-line="37" selection-start-column="15" selection-end-line="37" selection-end-column="15" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
|
@ -197,8 +181,8 @@
|
|||
<option value="$PROJECT_DIR$/version.txt" />
|
||||
<option value="$PROJECT_DIR$/manage.py" />
|
||||
<option value="$PROJECT_DIR$/history.md" />
|
||||
<option value="$PROJECT_DIR$/README.md" />
|
||||
<option value="$PROJECT_DIR$/app/api/task.py" />
|
||||
<option value="$PROJECT_DIR$/README.md" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
|
@ -268,6 +252,17 @@
|
|||
<item name="app" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="utils" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="AutoLine" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="AutoLine" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="User Guide" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="AutoLine" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="AutoLine" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="User Guide" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="User Guide" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
|
@ -371,7 +366,7 @@
|
|||
<frame x="3" y="23" width="1379" height="802" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.16243654" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.23930384" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
|
@ -401,14 +396,6 @@
|
|||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/app/__init__.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-256">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/utils/process.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="285">
|
||||
|
@ -628,14 +615,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/static/js/autoline.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="405">
|
||||
<caret line="208" column="40" lean-forward="false" selection-start-line="208" selection-start-column="40" selection-end-line="208" selection-end-column="40" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/static/js/project.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="347">
|
||||
|
@ -708,27 +687,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/utils/runner.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="451">
|
||||
<caret line="98" column="22" lean-forward="false" selection-start-line="98" selection-start-column="22" selection-end-line="98" selection-end-column="22" />
|
||||
<folding>
|
||||
<element signature="e#94#103#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="630">
|
||||
<caret line="42" column="0" lean-forward="true" selection-start-line="42" selection-start-column="0" selection-end-line="42" selection-end-column="0" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/history.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
|
@ -740,14 +698,54 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/utils/runner.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="451">
|
||||
<caret line="98" column="22" lean-forward="false" selection-start-line="98" selection-start-column="22" selection-end-line="98" selection-end-column="22" />
|
||||
<folding>
|
||||
<element signature="e#94#103#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/static/js/autoline.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="405">
|
||||
<caret line="208" column="40" lean-forward="false" selection-start-line="208" selection-start-column="40" selection-end-line="208" selection-end-column="40" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/app/api/task.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="278">
|
||||
<caret line="83" column="13" lean-forward="false" selection-start-line="83" selection-start-column="13" selection-end-line="83" selection-end-column="13" />
|
||||
<state relative-caret-position="428">
|
||||
<caret line="93" column="37" lean-forward="false" selection-start-line="93" selection-start-column="37" selection-end-line="93" selection-end-column="37" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="450">
|
||||
<caret line="30" column="0" lean-forward="true" selection-start-line="30" selection-start-column="0" selection-end-line="30" selection-end-column="0" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/User Guide/User Guide/使用简明教程.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="589">
|
||||
<caret line="204" column="0" lean-forward="true" selection-start-line="204" selection-start-column="0" selection-end-line="204" selection-end-column="0" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
|
|
|
@ -23,6 +23,10 @@
|
|||
|
||||
AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。
|
||||
|
||||
用户简明教程: [简明教程](https://github.com/small99/AutoLine/blob/master/User%20Guide/User%20Guide/使用简明教程.md)
|
||||
|
||||
安装部署教程: [安装教程](https://github.com/small99/AutoLine/blob/master/User%20Guide/User%20Guide/安装部署教程.md)
|
||||
|
||||
## 为什么要开发AutoLine
|
||||
|
||||
1. 为中小企业提供一个好用的自动化测试解决方案
|
||||
|
|
|
@ -0,0 +1,204 @@
|
|||
# AutoLine简明教程
|
||||
<!-- TOC -->
|
||||
|
||||
- [AutoLine简明教程](#autoline简明教程)
|
||||
- [基本的使用过程](#基本的使用过程)
|
||||
- [AutoLine支持哪些关键字](#autoline支持哪些关键字)
|
||||
- [Cron表达式说明](#cron表达式说明)
|
||||
- [常用cron表达式](#常用cron表达式)
|
||||
- [公众号](#公众号)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
|
||||
## 基本的使用过程
|
||||
|
||||
AutoLine自动化测试基本过程为:
|
||||
|
||||
1. 创建产品
|
||||
2. 创建项目
|
||||
3. 创建对象集,并创建对象
|
||||
4. 创建套件
|
||||
5. 创建用例
|
||||
6. 创建步骤
|
||||
7. 重复3-6
|
||||
8. 运行项目
|
||||
9. 查看报告
|
||||
|
||||
使用AutoLine开源平台进行自动化测试的详细步骤为:
|
||||
|
||||
1. 在"产品管理"下新增产品
|
||||
|
||||

|
||||
|
||||
2. 在"项目管理"下新增测试项目
|
||||
|
||||

|
||||
|
||||
3. 选择2中创建的项目,准备进行规划测试项目
|
||||
|
||||

|
||||
|
||||
4. 在项目节点上"右击"鼠标,创建对象集
|
||||
|
||||

|
||||
|
||||
- 新增环境相关参数数据
|
||||
|
||||
- 新增元素定位数据
|
||||
|
||||
- 新增百度搜索关键词数据
|
||||
|
||||
如下图:
|
||||
|
||||

|
||||
|
||||
5. 在对象集节点上"右击"鼠标,创建对象
|
||||
|
||||

|
||||
|
||||
在4中的各对象集下创建相应的对象,用于参数化,如下图:
|
||||
|
||||

|
||||
|
||||
下面我们看下各对象的细节截图:
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
6. 在项目节点上"右击"鼠标,创建套件集
|
||||
|
||||

|
||||
|
||||
- 新增初始化套件
|
||||
|
||||
- 新增测试套件
|
||||
|
||||
- 新增清理套件
|
||||
|
||||
创建完成后如图:
|
||||
|
||||

|
||||
|
||||
每个套件的属性如下图:
|
||||

|
||||

|
||||

|
||||
|
||||
7. 在套件节点上"右击"鼠标,新增测试用例
|
||||
|
||||

|
||||
|
||||
用例新增完成如图所示
|
||||
|
||||

|
||||
|
||||
8. 在用例节点上"右击"鼠标,新增测试步骤,即关键字步骤
|
||||
|
||||

|
||||
|
||||
详细的step说明:
|
||||
|
||||

|
||||
|
||||
这里以web测试来说明,我们用SeleniumLibrary库提供的关键字:
|
||||
|
||||

|
||||
|
||||
|
||||
完整的用例步骤如下:
|
||||

|
||||
|
||||
下面我们看一下各步骤的详细数据项截图:
|
||||
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
9. 在项目节点上"右击"鼠标,选择运行
|
||||

|
||||
|
||||
10. 在项目节点上"右击"鼠标,选择查看任务
|
||||
|
||||

|
||||
|
||||
11. 查看报告
|
||||
|
||||

|
||||
|
||||
|
||||
## AutoLine支持哪些关键字
|
||||
|
||||
当前已经默认集成了RobotFramework一下关键字,关键字的用法完全同RobotFramework
|
||||
|
||||
- 标准库
|
||||
1. BuiltIn
|
||||
2. Collections
|
||||
3. DateTime
|
||||
4. Dialogs
|
||||
5. OperationSystem
|
||||
6. Process
|
||||
7. Screenshot
|
||||
8. String
|
||||
9. Telnet
|
||||
10. XML
|
||||
|
||||
RobotFramework标准库关键字文档:
|
||||
http://robotframework.org/robotframework/#standard-libraries
|
||||
|
||||
- 第三方库
|
||||
1. SeleniumLibrary
|
||||
|
||||
作用: 支持web UI测试
|
||||
关键字文档: http://robotframework.org/SeleniumLibrary/SeleniumLibrary.html
|
||||
|
||||
2. Appium
|
||||
|
||||
作用: 支持APP移动端UI测试(android&ios)
|
||||
关键字文档: http://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html
|
||||
|
||||
3. Requests
|
||||
|
||||
功能: 支持HTTP接口测试
|
||||
关键字文档: https://github.com/bulkan/robotframework-requests/#readme
|
||||
|
||||
## Cron表达式说明
|
||||
|
||||
在创建项目时,需要输入cron表达式以实现定时的计划任务,cron表达式格式同jenkins,格式为:
|
||||
|
||||
> minute, hour, day, month, day_of_week
|
||||
|
||||
默认值为: * * * * *
|
||||
|
||||
minute - 用于配置分钟
|
||||
hour - 用于配置小时
|
||||
day - 用于配置天
|
||||
month - 用于配置月
|
||||
day_of_week - 用于配置周里的天数
|
||||
|
||||
### 常用cron表达式
|
||||
|
||||
*/30 * * ? 每30分钟执行一次
|
||||
0 12 * * ? 每天中午12点触发
|
||||
15 10 * * ? 每天上午10:15触发
|
||||
15 10 L * ? 每月最后一日的上午10:15触发
|
||||
15 10 ? * 6L 每月的最后一个星期五上午10:15触发
|
||||
0 1 * * ? 每天凌晨1点执行一次
|
||||
|
||||
更多的cron表达式用法 请直接看官方文档吧,自己去找文档
|
||||
|
||||
## 公众号
|
||||
|
||||
扫一扫关注公众号,获取平台第一手信息
|
||||
|
||||

|
Loading…
Reference in New Issue