Warum berücksichtigt der Selenium Firefox-Treiber, dass mein Modal nicht angezeigt wird, wenn das übergeordnete Element übergelaufen ist: ausgeblendet?
EDIT: Ich denke, es ist bereits ein Problem offen:http://code.google.com/p/selenium/issues/detail?id=5717
Also benutze ich im Grunde den Firefox-Treiber und das Div mitid="page-content"
führt dazu, dass mein Selentest mit dem in der angegebenen Frage aufgeführten Fehler fehlschlägt:"Element ist derzeit nicht sichtbar und kann daher nicht mit ihm interagiert werden", aber ein anderes ist? Ich konnte das Problem auf die Tatsache zurückführen, dass diese ID den CSS-Stil "" hatoverflow: hidden
Ist das ein Fehler oder mache ich etwas falsch?
Ich verwende Selenium WebDriver Version: 2.33.0.0, Firefox Version: 22
Die Quelle für den Test und die Website ist hier:https://github.com/tonyeung/selenium-overflow-issue
Zum schnellen Nachschlagen: Der unten stehende HTML-Code ist meine Testseite. Für diejenigen, die mit Angular nicht vertraut sind, wird lediglich ein HTML-Fragment als Modal angezeigt, wenn Sie auf Hinzufügen oder Bearbeiten klicken. Eine Live-Demo finden Sie hier:http://plnkr.co/edit/LzHqxAz0f2GurbL9BGyu?p=preview
<!DOCTYPE html>
<html data-ng-app="myApp">
<head lang="en">
<meta charset="utf-8">
<title>Selenium Test</title>
<!-- // DO NOT REMOVE OR CHANGE ORDER OF THE FOLLOWING // -->
<!-- bootstrap default css (DO NOT REMOVE) -->
<link rel="stylesheet" href="css/bootstrap.min.css?v=1">
<link rel="stylesheet" href="css/bootstrap-responsive.min.css?v=1">
</head>
<body>
<div data-ng-controller="MyCtrl">
<span id="added" data-ng-show="added">Added</span>
<span id="edited" data-ng-show="edited">Edited</span>
<div id="page-content" style="overflow:hidden">
<!--<div id="page-content">-->
<div class="employees view">
<button name="addNewEmployee" id="addNewEmployee" class="btn btn-primary" data-ng-click="add()">Add</button>
<button name="editEmployee" id="editEmployee" class="btn btn-primary" data-ng-click="edit()">Edit</button>
<div data-ng-controller="editCtrl" data-ng-include="'app/views/edit.html'"></div>
<div data-ng-controller="addCtrl" data-ng-include="'app/views/add.html'"></div>
</div>
</div>
</div>
<!-- JS scripts -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/0.7.2/angular-strap.min.js"></script>
<script src="app/app.js"></script>
</body>
</html>