我正在尝试在Mac上运行自动化测试.我安装了Maven和java,jdk如下:
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
和Maven:
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00)
Maven home: /usr/local/Cellar/maven/3.2.5/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)
当我执行Maven命令时,我收到了这个错误:
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: invalid target release: 1.8
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help …Run Code Online (Sandbox Code Playgroud) VirtualBox的新手在这里.我使用此命令行创建了VM的快照:
VBoxManage snapshot VMName take BackupName
Run Code Online (Sandbox Code Playgroud)
然后我用它来检查:
VBoxManage showvminfo VMName
Run Code Online (Sandbox Code Playgroud)
我看到创建了一个名为BackupName的快照.我没有找到"实际"快照BackupName,我在SnapShots文件夹中找到了一个文件filename.sav.
我的目的是创建此VM的快照,将其复制到另一台主机并在那里恢复.由于我找不到"快照"BackupName,所以我将sav文件复制到新主机并使用了以下命令:
VBoxManage adoptsate filename.sav
Run Code Online (Sandbox Code Playgroud)
但它没有用.任何人都可以帮我如何复制"快照"并在新主机中恢复它.非常感谢
我正在使用JUnit和Selenium Webdriver.我想按照我在代码中编写测试方法的顺序运行我的测试方法,如下所示:
@Test
public void registerUserTest(){
// code
}
@Test
public void welcomeNewUserTest(){
// code
}
@Test
public void questionaireNewUserTest(){
// code
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,它总是按此顺序执行我的测试方法:
welcomeNewUserTest()
registerUserTest()
questionaireNewUserTest()
Run Code Online (Sandbox Code Playgroud)
如果我用后缀Test命名我的方法,那么我在某处读了一个答案,然后JUnit将按顺序执行它们,就像我在代码中命令它们一样.显然,这不起作用.
有帮助吗?谢谢
我有一个这样的自定义Android搜索栏,以及它可以移动到的位置.它从中间开始:
我想首先移动滑块,然后检查它是否已保存.我有一个使用TouchAction的方法:
public void moveSeekBar(){
WebElement seekBar = appiumDriver.findElementById("com.feverapp:id/SymptomTrackingActivity_var");
//Get start point of seekbar.
int startX = seekBar.getLocation().getX();
System.out.println(startX);
//Get end point of seekbar.
int endX = seekBar.getSize().getWidth();
System.out.println(endX);
//Get vertical location of seekbar.
int yAxis = seekBar.getLocation().getY();
//Set slidebar move to position.
// this number is calculated based on (offset + 3/4width)
int moveToXDirectionAt = 786;
System.out.println("Moving seek bar at " + moveToXDirectionAt+" In X direction.");
//Moving seekbar using TouchAction class.
TouchAction act=new TouchAction(appiumDriver);
act.press(startX,yAxis).moveTo(moveToXDirectionAt,yAxis).release().perform();
}
Run Code Online (Sandbox Code Playgroud)
我注意到的一点:
我正在测试的软件有很多弹出窗口/模式窗口。主页loginPage以全屏模式打开。单击按钮后,将打开一个新的弹出(模式)窗口,例如。overviewPage
我想要实现的是更改此弹出窗口的视口,或者更好地最大化它,在本例中是overviewPage
这是我的代码:
const browser = await chromium.launch({
args: ['--start-maximized'],
headless : false, slowMo : 50});
const context = await browser.newContext({viewport : null});
const loginPage = await context.newPage();
await loginPage.goto(myURL.href); //Login Page was opened in Maximized mode (Fullscreen)
// Next step is to click a button on Login Page, and a new page is opened.
await loginPage.click('#nextBtn');
console.log('Get page after a specific action (e.g. clicking a button');
const [overviewPage] = await Promise.all([
context.waitForEvent('page')
]);
await overviewPage.waitForLoadState(); …Run Code Online (Sandbox Code Playgroud) 我有这张桌子

我想点击链接,文件(无论文件)将在新的弹出窗口中打开.
这是我的代码:
<asp:Repeater ID="dokumente" runat="server">
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="HyperLink4" runat="server" Text='<%# Eval("DokuTyp") %>' NavigateUrl='file://<%# Eval("File") %>'></asp:HyperLink></td>
<td><%# Eval("Description")%></td>
<td><%# Eval("Date") %></td>
<td><%# Eval("File") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
但它不适用于NavigateUrl.任何人都可以帮助我或任何想法如何做到这一点.谢谢
我想单击“确定”按钮来保存此文本。所以我使用 switchTo 切换到这个对话框:
webDriver.switchTo().frame(0);
Run Code Online (Sandbox Code Playgroud)
我假设因为只有一个 Dialog,所以我使用了 frameID = 0。但我不知道如何从这里继续或如何单击 OK 按钮,因为我没有得到任何 HTML 信息。
任何帮助都非常感谢
我在用:
appiumDriver.findElement(By.id("com.XXX.keyword:id/nextButton"));
Run Code Online (Sandbox Code Playgroud)
但有时我们有调试版本,所以我们有类似“com.XXX.keyword.debug”的东西。所以我想在测试运行之前获取包名称,以便测试可以独立于此。
我试过
driver.currentActivity()
Run Code Online (Sandbox Code Playgroud)
但它只返回类似“.MainActivity”的内容
Appium 有没有办法获取包名?
多谢。
我可以使用WebDriver在Chrome中自动执行下载操作.以下是我设置Chrome驱动程序的代码:
ChromeOptions options = new ChromeOptions();
HashMap<String, Object> chromePrefs = new HashMap<>();
chromePrefs.put("download.default_directory", "/pathToDownloadFolder");
chromePrefs.put("download.prompt_for_download", false);
chromePrefs.put("download.directory_upgrade", true);
chromePrefs.put("safebrowsing.enabled", true);
options.setExperimentalOption("prefs", chromePrefs);
// create chrome driver
webDriver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)
该文件将保存在pathToDownloadFolder中.
但我不想实际保存文件.我的目的是自动化用户的操作:点击下载 - >显示的下载对话框 - >用户点击取消.
哪个选项可以镜像下载对话框的取消按钮?
编辑
我想下载,但无法保存,因为我需要点击才能下载按钮来激活另一个按钮,点击,所以节省了文件是没有必要的,这就是为什么我要解雇(或自动操作用户单击取消当下载对话框apears )
我查看了Chrome选项,但目前的实施似乎不太可能.有没有解决方法?
我必须自动化一个案例,在这个案例中我必须使用 Selenium WebDriver 和跨浏览器下载文件。
我已经为 Chrome(通过ChromeOptions)、FF(通过FirefoxProfile)和 IE11 这样做了。例如,在 Firefox 中,我使用Firefox Profile抑制下载提示,如下所示:
profile.setPreference("browser.download.dir", "C:\\DownloadCleanup");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", mimeTypes);
Run Code Online (Sandbox Code Playgroud)
对于 IE11,我使用Robotclass 按下组合键Alt + S,如下所示:
Robot robot = new Robot();
// simulate the "Alt + S" to save file on IE11 when Download Prompt appears
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_S);
Run Code Online (Sandbox Code Playgroud)
一切正常。现在我想在 Edge 中做到这一点。但是我找不到 Edge 的组合键(如 IE11)或设置(如 Chrome 和 FF)。
我在 Edge 中手动尝试,但出现下载提示时似乎没有保存文件的快捷方式。因此,我的解决方法是转到 Edge -> 设置 -> 高级设置并停用此下载提示。
有谁知道如何通过 Selenium 做到这一点,比如在 …
java automated-tests webdriver selenium-webdriver microsoft-edge
java ×6
android ×2
appium ×2
webdriver ×2
asp.net ×1
automation ×1
c# ×1
compilation ×1
hyperlink ×1
javac ×1
junit ×1
macos ×1
maven ×1
modal-dialog ×1
node.js ×1
playwright ×1
popupwindow ×1
restore ×1
seekbar ×1
selenium ×1
snapshot ×1
typescript ×1
virtualbox ×1