Skip to content

Commit e15378f

Browse files
committed
Updated script for autoheal
1 parent e0a97d0 commit e15378f

File tree

1 file changed

+30
-25
lines changed

1 file changed

+30
-25
lines changed

docs/autoheal-with-hooks.md

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -77,50 +77,55 @@ driver.execute_script('lambdatest_executor:{"action":"lambda-heal-stop"}')
7777

7878
```python title="Test.py"
7979
import os
80+
import sys
8081
import time
82+
8183
from selenium import webdriver
8284

83-
platform = os.getenv('HYPEREXECUTE_PLATFORM')
85+
LT_USERNAME = os.getenv('LT_USERNAME')
86+
LT_ACCESS_KEY = os.getenv('LT_ACCESS_KEY')
8487

8588
desired_cap_chrome = {
86-
"build": "Lambdatest Build 2",
87-
"name": "Lambdatest Test",
88-
"platform": platform,
89-
"browserName": "Chrome",
90-
"version": "latest",
91-
"visual": False,
92-
"video": True,
89+
"build" : "Lambdatest Build 2",
90+
"name" : "Autoheal Test via Hooks",
91+
"platform" : "Windows 10",
92+
"browserName" : "Chrome",
93+
"version" : "latest",
94+
"visual" : False,
95+
"video" : True,
9396
"network": True,
9497
"console": True,
9598
'goog:chromeOptions': {'args': ['--window-size=400x300']},
9699
}
97100

98-
hub = f"https://{os.getenv('LT_USERNAME')}:{os.getenv('LT_ACCESS_KEY')}@hub.lambdatest.com/wd/hub"
101+
hub = f"https://{LT_USERNAME}:{LT_ACCESS_KEY}@hub.lambdatest.com/wd/hub"
99102

100-
def test_autoheal(caps, sleep_time=5):
103+
def OneTest(caps, sleepTime):
104+
begin = time.time()
101105
driver = webdriver.Remote(command_executor=hub, desired_capabilities=caps)
102-
103-
# Navigate to page
106+
end = time.time()
107+
print(f"Startup time for {caps['browserName']} {end - begin} , {begin} , {end}")
104108
driver.get("https://www.selenium.dev")
105-
106-
# ===== Autoheal START =====
107-
driver.execute_script('lambdatest_executor:{"action":"lambda-heal-start"}')
108-
109-
# Interact with elements that may change dynamically
109+
time.sleep(sleepTime)
110+
111+
driver.execute_script('lambdatest_executor:{"action":"lambda-heal-start"}') #start hook for autoheal
112+
110113
driver.find_element_by_id('td-block-1')
111-
driver.execute_script('document.getElementById("td-block-1").id="updatedtd-block-1";')
114+
driver.execute_script("document.getElementById(\"td-block-1\").id=\"updatedtd-block-1\";")
112115
driver.find_element_by_id('updatedtd-block-1')
116+
driver.find_element_by_id("td-block-1")
117+
118+
driver.execute_script('lambdatest_executor:{"action":"lambda-heal-stop"}') #stop hook for autoheal
113119

114-
# ===== Autoheal STOP =====
115-
driver.execute_script('lambdatest_executor:{"action":"lambda-heal-stop"}')
116-
117-
# Continue normal test steps
120+
driver.execute_script("console.log('Test started');")
121+
driver.execute_script("console.info('Navigated to selenium.dev');")
122+
driver.execute_script("console.warn('This is a warning message');")
123+
driver.execute_script("console.error('This is an error message');")
124+
driver.execute_script("console.debug('Debugging test flow');")
118125
driver.execute_script("console.log('Test completed successfully');")
119-
driver.execute_script("lambda-status=passed")
120-
121126
driver.quit()
122127

123-
test_autoheal(desired_cap_chrome)
128+
OneTest(desired_cap_chrome, 5)
124129
```
125130

126131
With these steps, you can seamlessly integrate LambdaTest HyperExecute Autoheal into your Selenium tests, reducing flaky tests and improving stability.

0 commit comments

Comments
 (0)