I am new to Windows Automation using Python. Trying to do a handson to launch a calculator and perform some basic calculations using WinAppdriver. I am facing below exception and unable to figure out the problem. Can someone help me out?
Code:
import unittest
from appium import webdriver
class calculator_test(unittest.TestCase):
calcsession = None;
calresult = None;
def setUp(self):
print("Setup")
desired_caps={}
desired_caps["app"]="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"
self.calcsession = webdriver.Remote(command_executor='http://127.0.0.1:4723/',desired_capabilities=desired_caps)
def tearDown(self):
print("teardown")
self.calcsession.quit()
def test_add(self):
print("add")
self.calcsession.find_element_by_name("One").click()
self.calcsession.find_element_by_name("Two").click()
self.calcsession.find_element_by_name("Plus").click()
self.calcsession.find_element_by_name("Nine").click()
self.calcsession.find_element_by_name("Equals").click()
self.assertEqual(self.getDisplayResults(), "21")
def test_subtraction(self):
print("Subtraction")
def getDisplayResults(self):
text = self.calcsession.find_element_by_accessibility_id("CalculatorResults").text
text = text.strip("Display is ").rstrip(' ').lstrip(' ')
return text
Exception:
C:\Users\Thiyagu\PycharmProjects\Performance\venv\Scripts\python.exe "C:\Program Files\JetBrains\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pycharm\_jb_unittest_runner.py" --target main.calculator_test
Testing started at 2:04 AM ...
Launching unittests with arguments python -m unittest main.calculator_test in C:\Users\Thiyagu\PycharmProjects\Performance
Setup
C:\Users\Thiyagu\AppData\Local\Programs\Python\Python39\lib\unittest\case.py:614: ResourceWarning: unclosed <socket.socket fd=700, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 58378), raddr=('127.0.0.1', 4723)>
outcome.errors.clear()
ResourceWarning: Enable tracemalloc to get the object allocation traceback
Error
Traceback (most recent call last):
File "C:\Users\Thiyagu\PycharmProjects\Performance\main.py", line 12, in setUp
self.calcsession = webdriver.Remote(command_executor='http://127.0.0.1:4723/',desired_capabilities=desired_caps)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\appium\webdriver\webdriver.py", line 267, in __init__
super().__init__(
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\appium\webdriver\webdriver.py", line 357, in start_session
response = self.execute(RemoteCommand.NEW_SESSION, parameters)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 208, in check_response
raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message:
Setup
Ran 2 tests in 0.270s
FAILED (errors=2)
C:\Users\Thiyagu\AppData\Local\Programs\Python\Python39\lib\unittest\case.py:614: ResourceWarning: unclosed <socket.socket fd=456, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 58382), raddr=('127.0.0.1', 4723)>
outcome.errors.clear()
ResourceWarning: Enable tracemalloc to get the object allocation traceback
Error
Traceback (most recent call last):
File "C:\Users\Thiyagu\PycharmProjects\Performance\main.py", line 12, in setUp
self.calcsession = webdriver.Remote(command_executor='http://127.0.0.1:4723/',desired_capabilities=desired_caps)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\appium\webdriver\webdriver.py", line 267, in __init__
super().__init__(
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\appium\webdriver\webdriver.py", line 357, in start_session
response = self.execute(RemoteCommand.NEW_SESSION, parameters)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Thiyagu\PycharmProjects\Performance\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 208, in check_response
raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message:
Process finished with exit code 1
Operating System: Windows 10 Pro
Selenium: 4.8.2
Appium-Python-Client: 2.8.1