close.page.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { browser, $ } from "@wdio/globals";
  2. class SerializationPage {
  3. get receiverId() {
  4. return $("input[id='receiver-id']");
  5. }
  6. get callBtn() {
  7. return $("button[id='call-btn']");
  8. }
  9. get messages() {
  10. return $("div[id='messages']");
  11. }
  12. get closeBtn() {
  13. return $("button[id='close-btn']");
  14. }
  15. get errorMessage() {
  16. return $("div[id='error-message']");
  17. }
  18. get result() {
  19. return $("div[id='result']");
  20. }
  21. waitForMessage(right: string) {
  22. return browser.waitUntil(
  23. async () => {
  24. const messages = await this.messages.getText();
  25. return messages.startsWith(right);
  26. },
  27. { timeoutMsg: `Expected message to start with ${right}`, timeout: 10000 },
  28. );
  29. }
  30. async open() {
  31. await browser.switchWindow("Alice");
  32. await browser.url(`/e2e/mediachannel/close.html#Alice`);
  33. await this.callBtn.waitForEnabled();
  34. await browser.switchWindow("Bob");
  35. await browser.url(`/e2e/mediachannel/close.html#Bob`);
  36. await this.callBtn.waitForEnabled();
  37. }
  38. async init() {
  39. await browser.url("/e2e/alice.html");
  40. await browser.waitUntil(async () => {
  41. const title = await browser.getTitle();
  42. return title === "Alice";
  43. });
  44. await browser.pause(1000);
  45. await browser.newWindow("/e2e/bob.html");
  46. await browser.waitUntil(async () => {
  47. const title = await browser.getTitle();
  48. return title === "Bob";
  49. });
  50. await browser.pause(1000);
  51. }
  52. }
  53. export default new SerializationPage();