|
|
@@ -28,6 +28,7 @@ from PIL import Image, ImageChops |
|
|
|
from selenium.common.exceptions import TimeoutException |
|
|
|
from selenium import webdriver |
|
|
|
from selenium.webdriver.common.action_chains import ActionChains |
|
|
|
from selenium.webdriver.common.by import By |
|
|
|
|
|
|
|
|
|
|
|
class PannellumServer(SimpleHTTPRequestHandler): |
|
|
@@ -82,7 +83,7 @@ class PannellumTester(object): |
|
|
|
def take_screenshot(self, element_id, filename=None): |
|
|
|
"""Take a screenshot of an element with a given ID. |
|
|
|
""" |
|
|
|
element = self.browser.find_element_by_id(element_id) |
|
|
|
element = self.browser.find_element(By.ID, element_id) |
|
|
|
img = Image.open(io.BytesIO(element.screenshot_as_png)).convert("RGB") |
|
|
|
if filename is not None: |
|
|
|
img.save(filename) |
|
|
@@ -128,10 +129,10 @@ class PannellumTester(object): |
|
|
|
assert self.browser.execute_script( |
|
|
|
"return viewer.getPitch() == 30 && viewer.getYaw() == -20 && viewer.getHfov() == 90" |
|
|
|
) |
|
|
|
self.browser.find_element_by_class_name("pnlm-zoom-in").click() |
|
|
|
self.browser.find_element(By.CLASS_NAME, "pnlm-zoom-in").click() |
|
|
|
time.sleep(1) |
|
|
|
assert self.browser.execute_script("return viewer.getHfov() == 85") |
|
|
|
self.browser.find_element_by_class_name("pnlm-zoom-out").click() |
|
|
|
self.browser.find_element(By.CLASS_NAME, "pnlm-zoom-out").click() |
|
|
|
time.sleep(1) |
|
|
|
assert self.browser.execute_script("return viewer.getHfov() == 90") |
|
|
|
print("PASS: movement") |
|
|
@@ -161,13 +162,13 @@ class PannellumTester(object): |
|
|
|
self.browser.execute_script("viewer.setYaw(32)") |
|
|
|
time.sleep(2) |
|
|
|
action = ActionChains(self.browser) |
|
|
|
elem = self.browser.find_element_by_class_name("pnlm-zoom-in") |
|
|
|
elem = self.browser.find_element(By.CLASS_NAME, "pnlm-zoom-in") |
|
|
|
action.move_to_element(elem).move_by_offset(1, 1).click().perform() |
|
|
|
assert self.browser.execute_script("return viewer.getHfov() == 95") |
|
|
|
print("PASS: hot spots below UI") |
|
|
|
|
|
|
|
# Check hot spot |
|
|
|
self.browser.find_element_by_class_name("pnlm-scene").click() |
|
|
|
self.browser.find_element(By.CLASS_NAME, "pnlm-scene").click() |
|
|
|
time.sleep(5) |
|
|
|
assert self.browser.execute_script("return viewer.getScene() == 'multires'") |
|
|
|
print("PASS: hot spot") |
|
|
@@ -184,8 +185,8 @@ class PannellumTester(object): |
|
|
|
# Check hotspot dragging - move from (20, 20) to (0, 0) |
|
|
|
action = ActionChains(self.browser) |
|
|
|
action.drag_and_drop( |
|
|
|
self.browser.find_element_by_class_name("pnlm-hotspot"), |
|
|
|
self.browser.find_element_by_class_name( |
|
|
|
self.browser.find_element(By.CLASS_NAME, "pnlm-hotspot"), |
|
|
|
self.browser.find_element(By.CLASS_NAME, |
|
|
|
"pnlm-render-container" |
|
|
|
), # drops in the middle of the element |
|
|
|
) |
|
|
|