Example #1
0
def test_dragdropunit():
    client = WindmillTestClient(__name__)

    client.open(
        url=
        u'http://tutorial.getwindmill.com/windmill-unittests/jqueryui152/demos/functional/index.html'
    )
    client.waits.forPageLoad(timeout=u'40000')
    client.waits.forElement(link=u'Draggable', timeout=u'40000')
    #test the draggable widgets
    client.click(link=u'Draggable')
    client.dragDropElem(pixels=u'(200,0)', id=u'dragImage')
    client.waits.sleep(milliseconds=u'500')
    client.dragDropElem(pixels=u'(300,0)', id=u'divDrag')
    #client.asserts.assertProperty(validator=u'style.left|289px', id=u'divDrag')
    client.dragDropElem(xpath="//div[@id='draggable-handle-div']/div[1]",
                        pixels='(257,0)')
    #client.asserts.assertProperty(validator=u'style.left|246px', id=u'draggable-handle-div')
    client.dragDropElem(link=u'Drag me', pixels=u'(420,0)')
    #client.asserts.assertProperty(validator=u'style.left|409px', id=u'draggable-dragPrevention')
    #test the droppable widgets
    client.click(link=u'Droppable')
    client.click(link=u'Droppable')
    client.waits.sleep(milliseconds=u'500')
    client.dragDropElem(xpath="//div[@id='droppablePhotos']/ul/li[2]/img",
                        pixels='(310,0)')
    client.waits.sleep(milliseconds=u'1200')
    client.asserts.assertProperty(
        xpath="//div[@id='droppablePhotos']/div/img",
        validator='src|templates/images/P1010039.JPG')
    client.dragDropElemToElem(xpath="//div[@id='droppablePhotos']/ul/li/img",
                              optxpath="//div[@id='droppablePhotos']/div/img")
    client.waits.sleep(milliseconds=u'500')
    client.asserts.assertProperty(xpath="//div[@id='droppablePhotos']/div/img",
                                  validator='src|P1010020.JPG')
    client.dragDropElemToElem(xpath="//div[@id='ui-gen-7']/div[3]/div[1]",
                              optxpath="//div/div[3]/div[4]")
    client.waits.sleep(milliseconds=u'500')
    client.dragDropElemToElem(xpath="//div/div[3]/div[2]",
                              optxpath="//div/div[3]/div[4]")
    client.waits.sleep(milliseconds=u'500')
    client.asserts.assertElemJS(
        xpath="//div/div[3]/div[4]",
        js=u"element.innerHTML.indexOf('Dropped!') != -1")
    client.dragDropElem(xpath="//div/div[3]/div[2]", pixels='(0,200)')
    client.waits.sleep(milliseconds=u'500')
    client.asserts.assertElemJS(
        xpath="//div/div[3]/div[4]",
        js=u"element.innerHTML.indexOf('Dropped! Dropped!') != -1")
    #test the sortable widgets
    client.click(link=u'Sortable')
    client.click(link=u'Sortable')
    client.waits.sleep(milliseconds=u'500')
    client.storeVarFromJS(
        options=
        "before|document.getElementById('user_Susan').parentNode.childNodes.length"
    )
    client.dragDropElem(pixels='(160,0)', id='user_Susan')
    client.storeVarFromJS(
        options=
        "after|document.getElementById('user_Susan').parentNode.childNodes.length"
    )
    client.execIDEJS(
        js=
        "windmill.varRegistry.items['before'] != windmill.varRegistry.items['After'];"
    )
    #test the dialog widgets
    client.click(link=u'Dialog')
    client.click(link=u'Dialog')
    client.dragDropElem(
        xpath="//body[@id='functional_demos']/div[3]/div[1]/div[1]",
        pixels='(150,0)')
    #test the slider widgets
    client.click(link=u'Slider')
    client.click(link=u'Slider')
    client.waits.sleep(milliseconds=u'500')
    client.dragDropElem(xpath="//div[@id='slider3']/a/div", pixels='(80,0)')
    client.dragDropElem(xpath="//div[@id='slider1']/a[1]/div", pixels='(50,0)')
    client.waits.sleep(milliseconds=u'500')
    client.dragDropElem(xpath="//div[@id='slider1']/a[2]/div",
                        pixels='(-20,0)')
    client.click(link=u'Draggable')
Example #2
0
def test_wmunti1():
    client = WindmillTestClient(__name__, assertions=False)

    assert client.open(
        url=
        u'http://tutorial.getwindmill.com/windmill-unittests/unit_tester.html'
    )['result']
    assert client.click(id=u'subBtn')['result']

    # Tests that sleeps actually wait for long enough
    start = datetime.now()
    assert client.waits.sleep(milliseconds=u'3000')['result']
    end = datetime.now()
    print(end - start)
    assert (end - start).seconds >= 3
    assert client.asserts.assertText(validator=u'', id=u'sleeper')['result']

    # Tests that an 8 second sleep actually waits long enough
    start = datetime.now()
    assert client.waits.sleep(milliseconds=u'8000')['result']
    end = datetime.now()
    print(end - start)
    assert (end - start).seconds >= 8

    #execIDEJS and storeURL test
    assert client.storeURL(link='AwesomeLink')
    assert client.execIDEJS(
        js=
        'windmill.varRegistry.items["{$AwesomeLink}"] = windmill.varRegistry.items["{$AwesomeLink}"].replace(\'http\', \'abcd\');'
    )
    assert client.asserts.assertJS(
        js="'{$AwesomeLink}' == 'abcd://www.awesome.com/';")
    #unit tests for select by value
    assert client.select(val='d', id='flavor')['result']
    assert client.asserts.assertSelected(validator='d', id='flavor')['result']

    assert client.asserts.assertText(validator=u'Slept',
                                     id=u'sleeper')['result']
    assert client.type(text=u'my test text', id=u'junkfield')['result']
    assert client.asserts.assertValue(validator=u'my test text',
                                      id=u'junkfield')['result']
    assert client.radio(id=u'cougar')['result']
    assert client.asserts.assertChecked(id=u'cougar')['result']
    assert client.radio(id=u'duck')['result']
    assert client.asserts.assertChecked(id=u'duck')['result']
    assert client.check(id=u'Smallpox')['result']
    assert client.asserts.assertChecked(id=u'Smallpox')['result']
    assert not client.asserts.assertChecked(id=u'Mumps')['result']
    assert not client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.check(id=u'Mumps')['result']
    assert client.asserts.assertChecked(id=u'Mumps')['result']
    assert not client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.check(id=u'Dizziness')['result']
    assert client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.type(text=u'The text area tester', name=u'story')['result']
    assert client.asserts.assertValue(validator=u'The text area tester',
                                      id=u'story')['result']
    assert client.select(option=u'Strawberry', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'b',
                                         id=u'flavor')['result']
    assert client.select(option=u'Rum and Raisin', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'c',
                                         id=u'flavor')['result']
    assert not client.asserts.assertSelected(validator=u'd',
                                             id=u'flavor')['result']
    assert client.select(option=u'Peach and Orange', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'd',
                                         id=u'flavor')['result']
    assert client.click(id=u'clickme')['result']
    assert client.asserts.assertText(validator=u'Clicked',
                                     id=u'clickme')['result']
    assert client.doubleClick(id=u'dblclickme')['result']
    assert client.asserts.assertText(validator=u'Double Clicked',
                                     id=u'dblclickme')['result']
    assert client.mouseDown(id=u'mousedownme')['result']
    assert client.asserts.assertText(validator=u'mouse downed',
                                     id=u'mousedownme')['result']
    assert client.mouseUp(id=u'mouseupme')['result']
    assert client.mouseOver(id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouse overred',
                                     id=u'mouseoverme')['result']
    assert client.mouseOut(id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouseouted',
                                     id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouse upped',
                                     id=u'mouseupme')['result']
    assert client.asserts.assertNode(id=u'amIhere')['result']
    assert client.asserts.assertProperty(validator=u'style.height|50px',
                                         id=u'amIhere')['result']
    assert not client.asserts.assertNode(id=u'doesntExist')['result']
    assert not client.asserts.assertNode(id=u'created')['result']
    assert client.click(id=u'wfeBtn')['result']
    assert client.waits.forElement(id=u'created', timeout=u'40000')['result']
    assert client.asserts.assertNode(id=u'created')['result']
    assert client.asserts.assertJS(
        js=u'window.document.title == "windmill_js_unit"')
    assert client.asserts.assertIDEJS(
        js=u'window.document.title == "Windmill IDE"')
    assert client.execJS(js=u'window.awesome = true;')
    assert client.asserts.assertJS(js=u'window.awesome == true;')
    assert client.execIDEJS(js=u'window.awesome = false;')
    assert client.asserts.assertIDEJS(js=u'window.awesome == false;')
Example #3
0
def test_wmunti1():
    client = WindmillTestClient(__name__, assertions=False)
    
    assert client.open(url=u'http://tutorial.getwindmill.com/windmill-unittests/unit_tester.html')['result']
    assert client.click(id=u'subBtn')['result']
    
    # Tests that sleeps actually wait for long enough
    start = datetime.now()
    assert client.waits.sleep(milliseconds=u'3000')['result']
    end = datetime.now()
    print (end - start)
    assert ( end - start ).seconds >= 3
    
    assert client.asserts.assertText(validator=u'', id=u'sleeper')['result']
    
    # Tests that an 8 second sleep actually waits long enough
    start = datetime.now()
    assert client.waits.sleep(milliseconds=u'8000')['result']
    end = datetime.now()
    print (end - start)
    assert ( end - start ).seconds >= 8
    
    #execIDEJS and storeURL test
    assert client.storeURL(link='AwesomeLink')
    assert client.execIDEJS(js='windmill.varRegistry.items["{$AwesomeLink}"] = windmill.varRegistry.items["{$AwesomeLink}"].replace(\'http\', \'abcd\');')
    assert client.asserts.assertJS(js="'{$AwesomeLink}' == 'abcd://www.awesome.com/';")
    #unit tests for select by value
    assert client.select(val='d', id='flavor')['result']
    assert client.asserts.assertSelected(validator='d', id='flavor')['result']
    
    assert client.asserts.assertText(validator=u'Slept', id=u'sleeper')['result']
    assert client.type(text=u'my test text', id=u'junkfield')['result']
    assert client.asserts.assertValue(validator=u'my test text', id=u'junkfield')['result']
    assert client.radio(id=u'cougar')['result']
    assert client.asserts.assertChecked(id=u'cougar')['result']
    assert client.radio(id=u'duck')['result']
    assert client.asserts.assertChecked(id=u'duck')['result']
    assert client.check(id=u'Smallpox')['result']
    assert client.asserts.assertChecked(id=u'Smallpox')['result']
    assert not client.asserts.assertChecked(id=u'Mumps')['result']
    assert not client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.check(id=u'Mumps')['result']
    assert client.asserts.assertChecked(id=u'Mumps')['result']
    assert not client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.check(id=u'Dizziness')['result']
    assert client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.type(text=u'The text area tester', name=u'story')['result']
    assert client.asserts.assertValue(validator=u'The text area tester', id=u'story')['result']
    assert client.select(option=u'Strawberry', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'b', id=u'flavor')['result']
    assert client.select(option=u'Rum and Raisin', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'c', id=u'flavor')['result']
    assert not client.asserts.assertSelected(validator=u'd', id=u'flavor')['result']
    assert client.select(option=u'Peach and Orange', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'd', id=u'flavor')['result']
    assert client.click(id=u'clickme')['result']
    assert client.asserts.assertText(validator=u'Clicked', id=u'clickme')['result']
    assert client.doubleClick(id=u'dblclickme')['result']
    assert client.asserts.assertText(validator=u'Double Clicked', id=u'dblclickme')['result']
    assert client.mouseDown(id=u'mousedownme')['result']
    assert client.asserts.assertText(validator=u'mouse downed', id=u'mousedownme')['result']
    assert client.mouseUp(id=u'mouseupme')['result']
    assert client.mouseOver(id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouse overred',id=u'mouseoverme')['result']
    assert client.mouseOut(id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouseouted',id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouse upped', id=u'mouseupme')['result']
    assert client.asserts.assertNode(id=u'amIhere')['result']
    assert client.asserts.assertProperty(validator=u'style.height|50px', id=u'amIhere')['result']
    assert not client.asserts.assertNode(id=u'doesntExist')['result']
    assert not client.asserts.assertNode(id=u'created')['result']
    assert client.click(id=u'wfeBtn')['result']
    assert client.waits.forElement(id=u'created', timeout=u'40000')['result']
    assert client.asserts.assertNode(id=u'created')['result']
    assert client.asserts.assertJS(js=u'window.document.title == "windmill_js_unit"')
    assert client.asserts.assertIDEJS(js=u'window.document.title == "Windmill IDE"')
    assert client.execJS(js=u'window.awesome = true;')
    assert client.asserts.assertJS(js=u'window.awesome == true;')
    assert client.execIDEJS(js=u'window.awesome = false;')
    assert client.asserts.assertIDEJS(js=u'window.awesome == false;')