Commit e99c0de3601cd944903406e249fe662ee6220625
1 parent
99ac3e2d
feat: add copyCreate, subtotal, storageTemp, clearSearch methods
Showing
1 changed file
with
64 additions
and
0 deletions
pages/purchasePage.ts
| ... | ... | @@ -115,6 +115,15 @@ export class PurchasePage extends BasePage { |
| 115 | 115 | readonly purchaseListMenu: Locator; |
| 116 | 116 | readonly purchaseSearchInput: Locator; |
| 117 | 117 | |
| 118 | + // 复制创建 | |
| 119 | + readonly copyCreateButton: Locator; | |
| 120 | + | |
| 121 | + // 货款小计 | |
| 122 | + readonly subtotalField: Locator; | |
| 123 | + | |
| 124 | + // 存储温度 | |
| 125 | + readonly storageTemperatureInput: Locator; | |
| 126 | + | |
| 118 | 127 | constructor(page: Page) { |
| 119 | 128 | super(page); |
| 120 | 129 | |
| ... | ... | @@ -170,6 +179,15 @@ export class PurchasePage extends BasePage { |
| 170 | 179 | // 采购列表 |
| 171 | 180 | this.purchaseListMenu = page.getByText('采购列表'); |
| 172 | 181 | this.purchaseSearchInput = page.getByRole('textbox'); |
| 182 | + | |
| 183 | + // 复制创建 | |
| 184 | + this.copyCreateButton = page.getByText('复制创建'); | |
| 185 | + | |
| 186 | + // 货款小计 | |
| 187 | + this.subtotalField = page.locator('uni-view:nth-child(2) > .nut-cell__value > .nut-form-item__body__slots > .nut-input > .nut-input__value > .nut-input__mask'); | |
| 188 | + | |
| 189 | + // 存储温度 | |
| 190 | + this.storageTemperatureInput = page.locator('uni-view:nth-child(9) > .nut-cell__value > .nut-form-item__body__slots > .nut-input > .nut-input__value > .nut-input__input > .uni-input-wrapper > .uni-input-input'); | |
| 173 | 191 | } |
| 174 | 192 | |
| 175 | 193 | /** |
| ... | ... | @@ -567,6 +585,43 @@ export class PurchasePage extends BasePage { |
| 567 | 585 | } |
| 568 | 586 | |
| 569 | 587 | /** |
| 588 | + * 点击复制创建按钮 | |
| 589 | + */ | |
| 590 | + async clickCopyCreate(): Promise<void> { | |
| 591 | + await this.copyCreateButton.click(); | |
| 592 | + await this.page.waitForLoadState('networkidle', { timeout: 30000 }); | |
| 593 | + await this.page.waitForTimeout(1000); | |
| 594 | + } | |
| 595 | + | |
| 596 | + /** | |
| 597 | + * 点击货款小计输入框(触发键盘) | |
| 598 | + */ | |
| 599 | + async clickSubtotal(): Promise<void> { | |
| 600 | + await this.subtotalField.click(); | |
| 601 | + await this.page.waitForTimeout(500); | |
| 602 | + } | |
| 603 | + | |
| 604 | + /** | |
| 605 | + * 输入货款小计金额(通过数字键盘) | |
| 606 | + * @param amount 金额 | |
| 607 | + */ | |
| 608 | + async enterSubtotalAmount(amount: string): Promise<void> { | |
| 609 | + await this.page.locator(`.number-keyboard uni-view[data-key="${amount}"]`).click(); | |
| 610 | + await this.page.waitForTimeout(300); | |
| 611 | + await this.page.getByText('完成').click(); | |
| 612 | + await this.page.waitForTimeout(500); | |
| 613 | + } | |
| 614 | + | |
| 615 | + /** | |
| 616 | + * 输入存储温度 | |
| 617 | + * @param value 温度值 | |
| 618 | + */ | |
| 619 | + async enterStorageTemperature(value: string): Promise<void> { | |
| 620 | + await this.storageTemperatureInput.click(); | |
| 621 | + await this.storageTemperatureInput.fill(value); | |
| 622 | + } | |
| 623 | + | |
| 624 | + /** | |
| 570 | 625 | * 在采购列表搜索商品 |
| 571 | 626 | * @param productName 商品名称 |
| 572 | 627 | */ |
| ... | ... | @@ -583,6 +638,15 @@ export class PurchasePage extends BasePage { |
| 583 | 638 | } |
| 584 | 639 | |
| 585 | 640 | /** |
| 641 | + * 清除采购列表搜索框内容 | |
| 642 | + */ | |
| 643 | + async clearSearchInPurchaseList(): Promise<void> { | |
| 644 | + const searchInput = this.page.locator('uni-input').filter({ hasText: '供应商/商品名称' }).locator('input[type="text"]'); | |
| 645 | + await searchInput.clear(); | |
| 646 | + await this.page.waitForTimeout(500); | |
| 647 | + } | |
| 648 | + | |
| 649 | + /** | |
| 586 | 650 | * 验证采购列表中存在商品 |
| 587 | 651 | * @param productName 商品名称 |
| 588 | 652 | */ | ... | ... |