小编Dan*_*iel的帖子

Appium - 如何在iOS设备上设置地理位置?

Meta: -

  • iOS模拟器设备v10.3
  • Appium java-client v5.0.0 BETA8
  • Selenium v​​3.4.0

其实我想设置GeoLocationiOS使用设备Appium XCUITest的自动化.我尝试使用下面的代码,它在Android设备上工作正常,同时抛出异常iOS:

import org.openqa.selenium.html5.Location;

AppiumServiceBuilder builder = new AppiumServiceBuilder().usingAnyFreePort().withAppiumJS("path/to/appium/main.js");

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("automationName", "XCUITest");
IOSDriver driver= new IOSDriver(builder, capabilities);

//Here this code working fine with AndroidDriver
Location location = new Location(latitude, longitude, altitude);    
driver.setLocation(location);
Run Code Online (Sandbox Code Playgroud)

例外:

org.openqa.selenium.WebDriverException:方法尚未实现(警告:服务器未提供任何堆栈跟踪信息)

当我尝试使用JavascriptExecutor时:

Map<String, String> args = new HashMap<String, String>();
args.put("address", "Address");
((JavascriptExecutor)webDriver).executeScript("mobile:setLocation", args);
Run Code Online (Sandbox Code Playgroud)

例外:

org.openqa.selenium.UnsupportedCommandException:未知的移动命令"setLocation".只有滚动,滑动,捏合,双击,两个手指点击,触摸和保持,点击,拖动来自动态,selectPickerWheelValue,才支持警报命令.(警告:服务器未提供任何堆栈跟踪信息)

当我尝试:

import org.openqa.selenium.remote.DriverCommand;

Map<String, String> args = new HashMap<String, …
Run Code Online (Sandbox Code Playgroud)

java geolocation ios appium

14
推荐指数
1
解决办法
2132
查看次数

.append()、选择列表和 Chrome 81 的问题

从 Chrome 81 版本开始,从选择列表中提取选项并重新添加它们.append()似乎无法按预期工作。此行为在 Chrome 80 中有效,并且在其他浏览器中继续有效。我做错了什么,还是 Chrome 中的错误?

示例代码步骤

  • 获取选择列表
  • 从中获取选项(在生产代码中我正在操作它们,但在本例中不是)
  • 从列表中删除选项
  • 将选项重新添加到列表中

预期行为

列表有选项

实际行为

没有显示选项,尽管 DOM 检查器显示它们存在

片段

function test() {
   var selectItem = $("#selectOne");
   var items = selectItem.find('option');
   selectItem.empty();
   selectItem.append(items);  
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="selectOne" multiple>
  <option>A</option>
  <option>B</option>
  <option>C</option>
  <option>D</option>
  <option>E</option>
</select>

<br/>

<button onclick="test()">Go</button>
Run Code Online (Sandbox Code Playgroud)

将以下行添加到我的 javascript 末尾确实“修复”了问题:

selectItem.get(0).innerHTML = selectItem.get(0).innerHTML;
Run Code Online (Sandbox Code Playgroud)

然而,这显然不是一个实际的修复。我只将它包含在这里,以防它有助于比我更了解这一点的人查明问题。

编辑 4 月 21 日:https : //bugs.chromium.org/p/chromium/issues/detail? id =1073172(感谢打开这个的人!)

jquery google-chrome

6
推荐指数
1
解决办法
658
查看次数

在一次调用中检索存储库及其标签版本的列表

我有两个天蓝色的 CLI 查询。

az acr repository list
Run Code Online (Sandbox Code Playgroud)

检索我的容器注册表中的存储库列表

az acr repository show-tags
Run Code Online (Sandbox Code Playgroud)

检索第一个查询返回的每个存储库的版本标记

这会导致初始调用来检索列表,然后对返回的每个存储库进行 1 次调用。有没有一种替代方案可以将所需的呼叫次数减少到一次?一次性检索存储库列表及其版本。

show-tags 命令需要一个强制性的存储库参数,我不知道任何其他命令会返回我需要的信息。

sh command-line-interface azure

5
推荐指数
1
解决办法
1万
查看次数