发送邮件

This commit is contained in:
lily 2019-03-04 20:24:55 +08:00
parent 51dd643e47
commit 5a51628558
3 changed files with 50 additions and 47 deletions

View File

@ -3,6 +3,8 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="09a4aeb4-cd0a-454b-9878-fc6edee9400a" name="Default" comment=""> <list default="true" id="09a4aeb4-cd0a-454b-9878-fc6edee9400a" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/common/sendEmail.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/sendEmail.py" afterDir="false" />
</list> </list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" /> <option name="TRACKING_ENABLED" value="true" />
@ -27,15 +29,15 @@
<SUITE FILE_PATH="coverage/Automated_Test$Unittests_for_test_TestLogin.coverage" NAME="Unittests for test.TestLogin Coverage Results" MODIFIED="1550545430554" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> <SUITE FILE_PATH="coverage/Automated_Test$Unittests_for_test_TestLogin.coverage" NAME="Unittests for test.TestLogin Coverage Results" MODIFIED="1550545430554" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" />
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf>
<file leaf-file-name="README.md" pinned="false" current-in-tab="true"> <file leaf-file-name="sendEmail.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/README.md"> <entry file="file://$PROJECT_DIR$/common/sendEmail.py">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> <provider selected="true" editor-type-id="text-editor">
<state split_layout="SPLIT"> <state relative-caret-position="912">
<first_editor relative-caret-position="87"> <caret line="48" column="28" selection-start-line="48" selection-start-column="28" selection-end-line="48" selection-end-column="28" />
<caret line="34" column="51" selection-start-line="34" selection-start-column="51" selection-end-line="34" selection-end-column="51" /> <folding>
</first_editor> <element signature="e#260#269#0" expanded="true" />
<second_editor /> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -105,8 +107,8 @@
<option value="$PROJECT_DIR$/common/url.py" /> <option value="$PROJECT_DIR$/common/url.py" />
<option value="$PROJECT_DIR$/page/searchPage.py" /> <option value="$PROJECT_DIR$/page/searchPage.py" />
<option value="$PROJECT_DIR$/testcase/test_baiduSearch.py" /> <option value="$PROJECT_DIR$/testcase/test_baiduSearch.py" />
<option value="$PROJECT_DIR$/common/sendEmail.py" />
<option value="$PROJECT_DIR$/README.md" /> <option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/common/sendEmail.py" />
</list> </list>
</option> </option>
</component> </component>
@ -119,8 +121,9 @@
<component name="NodePackageJsonFileManager"> <component name="NodePackageJsonFileManager">
<packageJsonPaths /> <packageJsonPaths />
</component> </component>
<component name="ProjectFrameBounds" extendedState="6"> <component name="ProjectFrameBounds" extendedState="7">
<option name="x" value="-12" /> <option name="x" value="945" />
<option name="y" value="163" />
<option name="width" value="981" /> <option name="width" value="981" />
<option name="height" value="1092" /> <option name="height" value="1092" />
</component> </component>
@ -137,6 +140,11 @@
<item name="Automated-Test" type="b2602c69:ProjectViewProjectNode" /> <item name="Automated-Test" type="b2602c69:ProjectViewProjectNode" />
<item name="Automated-Test" type="462c0819:PsiDirectoryNode" /> <item name="Automated-Test" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="Automated-Test" type="b2602c69:ProjectViewProjectNode" />
<item name="Automated-Test" type="462c0819:PsiDirectoryNode" />
<item name="common" type="462c0819:PsiDirectoryNode" />
</path>
</expand> </expand>
<select /> <select />
</subPane> </subPane>
@ -145,7 +153,7 @@
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="D:/tmp/PageObjectFramework" /> <property name="last_opened_file_path" value="D:/Code/suanfa" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" /> <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
@ -344,8 +352,7 @@
</history-entry> </history-entry>
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-7" y="-7" width="1295" height="735" extended-state="6" /> <frame x="-7" y="-7" width="1295" height="735" extended-state="7" />
<editor active="true" />
<layout> <layout>
<window_info anchor="bottom" id="TODO" order="6" /> <window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Event Log" order="12" side_tool="true" weight="0.3292683" /> <window_info anchor="bottom" id="Event Log" order="12" side_tool="true" weight="0.3292683" />
@ -353,8 +360,8 @@
<window_info anchor="bottom" id="Version Control" order="8" /> <window_info anchor="bottom" id="Version Control" order="8" />
<window_info anchor="bottom" id="Python Console" order="10" /> <window_info anchor="bottom" id="Python Console" order="10" />
<window_info anchor="bottom" id="Run" order="2" weight="0.3292683" /> <window_info anchor="bottom" id="Run" order="2" weight="0.3292683" />
<window_info anchor="bottom" id="Terminal" order="11" visible="true" weight="0.32752612" /> <window_info active="true" anchor="bottom" id="Terminal" order="11" visible="true" weight="0.27351916" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2700081" /> <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.283751" />
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
<window_info anchor="right" id="Database" order="3" /> <window_info anchor="right" id="Database" order="3" />
<window_info anchor="right" id="SciView" order="4" /> <window_info anchor="right" id="SciView" order="4" />
@ -367,7 +374,7 @@
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="bottom" id="Message" order="0" /> <window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Find" order="1" weight="0.3292683" /> <window_info active="true" anchor="bottom" id="Find" order="1" visible="true" weight="0.3292683" />
</layout> </layout>
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@ -378,7 +385,7 @@
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
<option name="time" value="3" /> <option name="time" value="4" />
</breakpoint-manager> </breakpoint-manager>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
@ -466,46 +473,44 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/url.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/pageObject.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="132" lean-forward="true" selection-start-line="132" selection-end-line="132" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/sendEmail.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222">
<caret line="58" lean-forward="true" selection-start-line="58" selection-end-line="58" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run.py"> <entry file="file://$PROJECT_DIR$/run.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="222"> <state relative-caret-position="222">
<caret line="31" selection-start-line="31" selection-end-line="31" /> <caret line="31" selection-start-line="31" selection-end-line="31" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/README.md"> <entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT"> <state split_layout="SPLIT">
<first_editor relative-caret-position="87"> <first_editor relative-caret-position="760">
<caret line="34" column="51" selection-start-line="34" selection-start-column="51" selection-end-line="34" selection-end-column="51" /> <caret line="40" selection-start-line="40" selection-end-line="40" />
</first_editor> </first_editor>
<second_editor /> <second_editor />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/url.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/pageObject.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1482" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/sendEmail.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="912">
<caret line="48" column="28" selection-start-line="48" selection-start-column="28" selection-end-line="48" selection-end-column="28" />
<folding>
<element signature="e#260#269#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component> </component>
</project> </project>

View File

@ -39,7 +39,6 @@ python3+Selenium+unittest+HTMLTestRunner+pageObject Web自动化测试框架
![](https://raw.githubusercontent.com/linyuli861/Automated-Test/master/z-README-image/email.jpg) ![](https://raw.githubusercontent.com/linyuli861/Automated-Test/master/z-README-image/email.jpg)
### PageObject设计模式 ### PageObject设计模式
由于Web页面自动化测试的过程中会存在许多重复的元素且很多Web页面测试的元素值不稳定经常变更 由于Web页面自动化测试的过程中会存在许多重复的元素且很多Web页面测试的元素值不稳定经常变更
为了使得Web页面自动化测试的代码更具有健壮性因此使用PageObject设计模式 为了使得Web页面自动化测试的代码更具有健壮性因此使用PageObject设计模式

View File

@ -55,4 +55,3 @@ class SendEmail():
# 最新的测试报告地址 # 最新的测试报告地址
the_last_report_address = os.path.join(reports_address, the_last_report) the_last_report_address = os.path.join(reports_address, the_last_report)
return the_last_report_address return the_last_report_address