Skip to content

Commit 22e615a

Browse files
committed
improve xpath highlighting
1 parent 20dfd2e commit 22e615a

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

packages/selenium-ide/src/neo/IO/SideeX/record.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,15 @@ export default function record(command, targets, value, insertBeforeLastCommand)
6262
// double click removed the 2 clicks from before
6363
index -= 2;
6464
}
65-
const newCommand = recordCommand(command, targets[0][0], value, index);
66-
newCommand.setTargets(targets);
65+
const trgs = targets.map(([locator, strategy]) => {
66+
// no more implicit things, make users specify exactly which selector to use
67+
if (strategy.startsWith("xpath") && locator.startsWith("//")) {
68+
return ["xpath=" + locator, strategy];
69+
}
70+
return [locator, strategy];
71+
});
72+
const newCommand = recordCommand(command, trgs[0][0], value, index);
73+
newCommand.setTargets(trgs);
6774
}
6875
}
6976

packages/selenium-ide/src/neo/components/TargetInput/index.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ import React from "react";
1919
import PropTypes from "prop-types";
2020
import { PropTypes as MobxPropTypes } from "mobx-react";
2121
import SyntaxHighlighter, { registerLanguage } from "react-syntax-highlighter/light";
22-
import livecodeserver from "react-syntax-highlighter/languages/hljs/livecodeserver";
22+
import fortran from "react-syntax-highlighter/languages/hljs/fortran";
2323
import stylus from "react-syntax-highlighter/languages/hljs/stylus";
2424
import ini from "react-syntax-highlighter/languages/hljs/ini";
2525
import { xcode } from "react-syntax-highlighter/styles/hljs";
2626
import AutoComplete from "../AutoComplete";
2727
import Input from "../FormInput";
2828
import "./style.css";
2929

30-
registerLanguage("livecodeserver", livecodeserver);
30+
registerLanguage("fortran", fortran);
3131
registerLanguage("stylus", stylus);
3232
registerLanguage("ini", ini);
3333

@@ -77,7 +77,7 @@ class TargetSuggestion extends React.Component {
7777
if (this.props.strategy === "css") {
7878
language = "stylus";
7979
} else if (this.props.strategy.startsWith("xpath")) {
80-
language = "livecodeserver";
80+
language = "fortran";
8181
}
8282
return (
8383
<span style={{

packages/selenium-ide/src/neo/stores/seed.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ export default function seed(store, numberOfSuites = 5) {
110110
["id=something", "id"],
111111
["name=something-else", "name"],
112112
["linkText=number density", "linkText"],
113+
["xpath=//a[contains(text(),'number density')]", "xpath:link"],
113114
["css=main .class > p a.link", "css"],
114115
["xpath=(//a[contains(text(),'number line')])[2]", "xpath:link"],
115116
["(//a[contains(text(),'number line')])[2]", "xpath:link"],
@@ -200,9 +201,9 @@ export default function seed(store, numberOfSuites = 5) {
200201
smokeSuite.addTestCase(submitTest);
201202

202203
UiState.changeView("Test suites");
203-
let suiteState = UiState.getSuiteState(suiteControlFlow);
204+
let suiteState = UiState.getSuiteState(suiteAll);
204205
suiteState.setOpen(true);
205-
UiState.selectTest(controlFlowIfTest, suiteControlFlow);
206+
UiState.selectTest(checkTest, suiteAll);
206207

207208
store.changeName("seed project");
208209

0 commit comments

Comments
 (0)