@winning-test/component 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winning-test/component",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "",
5
5
  "main": "",
6
6
  "scripts": {
@@ -138,6 +138,48 @@ class Page extends require("@winning-test/autotest-webui").Page {
138
138
  await this.browser.switchToFrame("//iframe[@id='prmIframe']");
139
139
  }
140
140
 
141
+ /**
142
+ * 等待加载
143
+ */
144
+ async loading() {
145
+ try {
146
+ const xpath = "//*[@class='datagrid-mask-msg' and (not (ancestor-or-self::*[contains(@style,'display: none')]))]";
147
+ if (await this.browser.isDisplayed(xpath, 200)) {
148
+ await this.browser.waitUntilElementBeNotVisible(xpath);
149
+ }
150
+ } catch (error) {
151
+
152
+ }
153
+ }
154
+
155
+ /**
156
+ * 获取菜单组件
157
+ * @returns 顶部菜单组件
158
+ */
159
+ menuComponent() {
160
+ let that = this;
161
+ class MenuComponent extends require("../component/Component") {
162
+
163
+ /**
164
+ * 选择菜单项
165
+ * @param {String} firstItem 一级菜单项
166
+ * @param {String} secondItem 二级菜单项
167
+ */
168
+ async select(firstItem, secondItem) {
169
+ let xpath = "//*[@id='menuconfig']"
170
+ if (!(await this.browser.isDisplayed(xpath, MenuComponent.delayTime))) {
171
+ xpath = "//*[@id='menuconfig123']";
172
+ await that.blockComponent(xpath).click();
173
+ }
174
+ xpath = `//*[@id='menuconfig']//*[text()='${firstItem}']/ancestor::ul/li[2]//*[text()='${secondItem}']`;
175
+ await that.blockComponent(xpath).click();
176
+ await that.switchToActiveFrame();
177
+ }
178
+
179
+ }
180
+ return new MenuComponent(this.browser);
181
+ }
182
+
141
183
  }
142
184
 
143
185
  module.exports = Page;
@@ -5,17 +5,27 @@ const browser = new Browser();
5
5
 
6
6
  beforeAll(async () => {
7
7
  await browser.maximize();
8
- await browser.get(config.maAnShan.url);
8
+ await browser.get(config.nation.url);
9
9
  })
10
10
 
11
- test("input/blockComponent", async () => {
11
+ test("健康知识库表格", async () => {
12
+ const page = new Page(browser);
13
+ await page.inputComponent(null, "username").input(config.nation.admin.账号);
14
+ await page.inputComponent(null, "password").input(config.nation.admin.密码);
15
+ await page.blockComponent("//*[@class='signIn']").click();
16
+ await page.menuComponent().select("健康教育","健康知识库");
17
+ await page.buttonComponent("查询").click();
18
+ await page.loading();
19
+ })
20
+
21
+ test.skip("input/blockComponent", async () => {
12
22
  const page = new Page(browser);
13
23
  await page.inputComponent(null, "username").input(config.maAnShan.admin.账号);
14
24
  await page.inputComponent(null, "password").input(config.maAnShan.admin.密码);
15
25
  await page.blockComponent("//*[@class='signIn']").click();
16
26
  })
17
27
 
18
- test("topMenu/leftMenu/table", async () => {
28
+ test.skip("topMenu/leftMenu/table", async () => {
19
29
  const page = new Page(browser);
20
30
  await page.topMenuComponent().select("个人档案");
21
31
  await page.leftMenuComponent().select("简档列表");
@@ -36,7 +46,7 @@ test("topMenu/leftMenu/table", async () => {
36
46
  console.log(tableData);
37
47
  })
38
48
 
39
- test("button/input/select/radio/checkbox/text/dialog", async () => {
49
+ test.skip("button/input/select/radio/checkbox/text/dialog", async () => {
40
50
  const page = new Page(browser);
41
51
  await page.blockComponent("//*[@class='button']").buttonComponent("新增").click();
42
52
  await page.switchToActiveFrame();