@winning-test/component 0.0.48 → 0.0.49

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.48",
3
+ "version": "0.0.49",
4
4
  "description": "",
5
5
  "main": "",
6
6
  "scripts": {
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 树形选择器组件类
3
+ * @作者 MaoJJ
4
+ */
5
+ class SelectTreeComponent extends require("./SelectComponent") {
6
+
7
+ /**
8
+ * 树形选择器组件
9
+ * @param {Browser} browser 浏览器
10
+ * @param {String} label 标签
11
+ * @param {String} id id
12
+ */
13
+ constructor(browser, label, id) {
14
+ super(browser);
15
+ this.label = label;
16
+ this.id = id;
17
+ }
18
+
19
+ _createXpath() {
20
+ if (this.label) {
21
+ return `//input[@label='${this.label}']`;
22
+ }
23
+ if (this.id) {
24
+ return `//input[@id='${this.id}']`;
25
+ }
26
+ }
27
+
28
+ /**
29
+ * 选择选项
30
+ * @param {...String} items 选项
31
+ */
32
+ async select(...items) {
33
+ let xpath = this.getXpath()
34
+ await (await this.browser.findElement(xpath)).click();
35
+ for (let i = 0; i < items.length; i++) {
36
+ let xpath = `//*[@class="tBodyAlone bbit-tree"]//*[@title='${items[i]}']`;
37
+ let xpath1 = `${xpath}/img[1]`;
38
+ await (await this.browser.findElement(xpath1)).scrollIntoView();
39
+ await (await this.browser.findElement(xpath1)).waitUntilBeEnabled();
40
+ await (await this.browser.findElement(xpath1)).click();
41
+ await this.browser.sleep(SelectComponent.delayTime);
42
+ if (i == (items.length - 1)) {
43
+ await (await this.browser.findElement(xpath)).scrollIntoView();
44
+ await (await this.browser.findElement(xpath)).waitUntilBeEnabled();
45
+ await (await this.browser.findElement(xpath)).click();
46
+ await this.browser.sleep(SelectComponent.delayTime);
47
+ }
48
+ }
49
+ await (await this.browser.findElement(xpath)).click();
50
+ }
51
+
52
+ }
53
+
54
+ module.exports = SelectTreeComponent;
@@ -7,6 +7,7 @@ const InputComponent = require("../component/InputComponent");
7
7
  const LeftMenuComponent = require("../component/LeftMenuComponent");
8
8
  const RadioComponent = require("../component/RadioComponent");
9
9
  const SelectComponent = require("../component/SelectComponent");
10
+ const SelectTreeComponent = require("../component/SelectTreeComponent");
10
11
  const TableComponent = require("../component/TableComponent");
11
12
  const TextComponent = require("../component/TextComponent");
12
13
  const TopMenuComponent = require("../component/TopMenuComponent");
@@ -106,6 +107,16 @@ class Page extends require("@winning-test/autotest-webui").Page {
106
107
  return new SelectComponent(this.browser, label, id);
107
108
  }
108
109
 
110
+ /**
111
+ * 获取树形选择器组件
112
+ * @param {String} label 标签
113
+ * @param {String} id id
114
+ * @returns 树形选择器组件
115
+ */
116
+ selectTreeComponent(label, id) {
117
+ return new SelectTreeComponent(this.browser, label, id);
118
+ }
119
+
109
120
  /**
110
121
  * 获取表格组件
111
122
  * @returns 表格组件