Skip to content

Commit d369690

Browse files
author
Vasyl Vavrychuk
committed
added element post/get commands
1 parent bfe1a28 commit d369690

File tree

2 files changed

+106
-17
lines changed

2 files changed

+106
-17
lines changed

web/WebDriverJsDemo.html

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<html>
22
<head>
3+
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
34
<style type="text/css">
45
.unitLabel {
56
font-size: small;
@@ -15,6 +16,10 @@
1516
#keyboard input {
1617
min-width: 30px;
1718
}
19+
20+
#findElementPanel td {
21+
vertical-align: top;
22+
}
1823
</style>
1924
<script src="webdriver.js"></script>
2025
<script src="base64-arraybuffer.js"></script>
@@ -49,17 +54,48 @@
4954
<div id="error" class="commandBlock" style="display: none; color: red;">
5055
</div>
5156

52-
<div class="commandBlock">
53-
Find element by
54-
<select name="findElementCriteria">
55-
<option value="id">id</option>
56-
<option value="name">name</option>
57-
<option value="tagName">tag name</option>
58-
<option value="xpath">xpath</option>
59-
</select>
60-
<input name="findElementKey" type="text"/>
61-
<input type="submit" value="Find element" onclick="wd.onFindElement()">
62-
<span id="foundElement" style="visibility: hidden;"></span>
57+
<div id="findElementPanel" class="commandBlock">
58+
<table>
59+
<tr>
60+
<td>
61+
Find element by
62+
</td>
63+
<td>
64+
<select name="findElementCriteria">
65+
<option value="id">id</option>
66+
<option value="name">name</option>
67+
<option value="tagName">tag name</option>
68+
<option value="xpath">xpath</option>
69+
</select>
70+
</td>
71+
<td>
72+
<input name="findElementKey" type="text"/>
73+
</td>
74+
<td>
75+
<input type="submit" value="Find element" onclick="wd.onFindElement()"/>
76+
</td>
77+
<td>
78+
<span id="foundElement" style="visibility: hidden;"></span>
79+
</td>
80+
<td>
81+
<span id="elementActions" style="visibility: hidden;">
82+
<input type="submit" value="Click" onclick="wd.onElementClick()"/>
83+
<input type="submit" value="Submit" onclick="wd.onElementSubmit()"/>
84+
<input type="submit" value="Clear" onclick="wd.onElementClear()"/>
85+
86+
<input type="submit" value="Tag name" onclick="wd.onElementTagName()"/>
87+
<input type="submit" value="Text" onclick="wd.onElementText()"/>
88+
89+
<input type="submit" value="Location" onclick="wd.onElementLocation()"/>
90+
<input type="submit" value="Size" onclick="wd.onElementSize()"/>
91+
92+
<input type="submit" value="Selected?" onclick="wd.onElementIsSelected()"/>
93+
<input type="submit" value="Enabled?" onclick="wd.onElementIsEnabled()"/>
94+
<input type="submit" value="Displayed?" onclick="wd.onElementIsDisplayed()"/>
95+
</span>
96+
</td>
97+
</tr>
98+
</table>
6399
</div>
64100

65101
<div class="commandBlock">

web/webdriver-app.js

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -555,10 +555,13 @@ WebDriverJsView.prototype.setFoundElementId = function(id) {
555555
var element = document.getElementById('foundElement');
556556
if (typeof id.ELEMENT === 'string') {
557557
element.innerHTML = 'Found element ' + id.ELEMENT;
558+
element.style.visibility = 'visible';
559+
document.getElementById('elementActions').style.visibility = 'visible';
558560
} else {
559-
element.innerHTML = id.ELEMENT.message;
561+
element.style.visibility = 'hidden';
562+
this.setError(id.ELEMENT.message);
563+
document.getElementById('elementActions').style.visibility = 'hidden';
560564
}
561-
element.style.visibility = 'visible';
562565
}
563566

564567
WebDriverJsView.prototype.setError = function(message) {
@@ -669,6 +672,60 @@ WebDriverJsController.prototype.onFindElement = function() {
669672
});
670673
};
671674

675+
WebDriverJsController.prototype.onElementClick = function() {
676+
this.element.click();
677+
};
678+
679+
WebDriverJsController.prototype.onElementSubmit = function() {
680+
this.element.submit();
681+
};
682+
683+
WebDriverJsController.prototype.onElementClear = function() {
684+
this.element.clear();
685+
};
686+
687+
WebDriverJsController.prototype.onElementTagName = function() {
688+
this.element.getTagName().then(function(value) {
689+
alert('Element tag name: ' + value);
690+
});
691+
};
692+
693+
WebDriverJsController.prototype.onElementText = function() {
694+
this.element.getText().then(function(value) {
695+
alert('Element text: ' + value);
696+
});
697+
};
698+
699+
WebDriverJsController.prototype.onElementLocation = function() {
700+
this.element.getLocation().then(function(value) {
701+
alert('Element location: ' + JSON.stringify(value));
702+
});
703+
};
704+
705+
WebDriverJsController.prototype.onElementSize = function() {
706+
this.element.getSize().then(function(value) {
707+
alert('Element size: ' + JSON.stringify(value));
708+
});
709+
};
710+
711+
WebDriverJsController.prototype.onElementIsSelected = function() {
712+
this.element.isSelected().then(function(value) {
713+
alert('Element selection: ' + value);
714+
});
715+
};
716+
717+
WebDriverJsController.prototype.onElementIsEnabled = function() {
718+
this.element.isEnabled().then(function(value) {
719+
alert('Element enabled: ' + value);
720+
});
721+
};
722+
723+
WebDriverJsController.prototype.onElementIsDisplayed = function() {
724+
this.element.isDisplayed().then(function(value) {
725+
alert('Element displayed: ' + value);
726+
});
727+
};
728+
672729
WebDriverJsController.prototype.onSendKeys = function(key) {
673730
if (this.element) {
674731
this.element.sendKeys(key);
@@ -677,10 +734,6 @@ WebDriverJsController.prototype.onSendKeys = function(key) {
677734
}
678735
};
679736

680-
WebDriverJsController.prototype.onClick = function() {
681-
this.element.click();
682-
};
683-
684737
WebDriverJsController.prototype.onListWindowHandles = function() {
685738
var self = this;
686739
var select = document.getElementById('windowList');

0 commit comments

Comments
 (0)