import pytest
import axterminator
pytestmark = pytest.mark.ax_background
class TestCalculator:
@pytest.mark.ax_requires_app("Calculator")
def test_addition(self, ax_app, ax_wait):
app = ax_app("Calculator")
app.find("7").click()
app.find("+").click()
app.find("3").click()
app.find("=").click()
ax_wait(0.1)
print("Addition test completed!")
@pytest.mark.ax_requires_app("Calculator")
def test_multiplication(self, ax_app, ax_wait):
app = ax_app("Calculator")
app.find("C").click()
ax_wait(0.1)
app.find("6").click()
app.find("×").click() app.find("4").click()
app.find("=").click()
ax_wait(0.1)
print("Multiplication test completed!")
@pytest.mark.ax_requires_app("Calculator")
def test_clear(self, ax_app):
app = ax_app("Calculator")
app.find("9").click()
app.find("9").click()
app.find("9").click()
app.find("C").click()
print("Clear test completed!")
class TestFinder:
@pytest.mark.ax_requires_app("Finder")
@pytest.mark.ax_slow def test_new_window_menu(self, ax_app, ax_wait):
app = ax_app("Finder")
file_menu = app.find("File", role="AXMenuBarItem")
file_menu.click()
ax_wait(0.3)
new_window = app.find("New Finder Window")
new_window.click()
ax_wait(0.5)
print("New window test completed!")
@pytest.mark.ax_requires_app("TextEdit")
def test_textedit_launch(ax_app):
app = ax_app("TextEdit", launch=True)
assert app.pid > 0
print(f"TextEdit launched with PID: {app.pid}")
if __name__ == "__main__":
pytest.main([__file__, "-v", "--tb=short"])