Microsoft Power Apps testing
We are using Subject7 to test an application built with Microsoft "Power Apps". When doing this there are a lot of items which are built in a different format then what I normally see. One example is added below. Normally, I would use an XPath to find an item, but in this case there doesn't seem to be a reasonable approach. I am looking for potential guidance on what might work. The formats produced by Power Apps are hard coded, and there is not a lot of flexibility to organize them.
In this case, The XPath to get to the start of the fuzzy section would be
//div/input
After that, there is an unusual format for the data. In the example below, I am looking for the data which is in bold "Subject: Here is a subject". Any ideas on how to get there?
<div class="appmagic-textbox" touch-action="pan-x pan-y" appmagic-control="txt_View_Title">
<!-- ko if: (mode() === "multiline") --><!-- /ko -->
<!-- ko if: (mode() !== "multiline") -->
<input appmagic-control="txt_View_Titletextbox" class="appmagic-text mousetrap block-undo-redo readonly" data-bind="
attr: {
type: mode() === 'password' ? 'password' : 'text',
title: properties.Tooltip() || null,
'aria-label': properties.AccessibleLabel() || null,
placeholder: properties.HintText,
readonly: viewState.displayMode() === AppMagic.Constants.DisplayMode.View,
'data-control-part': properties.Clear() ? 'text clearable' : 'text',
inputmode: keyboardMode,
maxlength: properties.MaxLength() < 0 ? 0 : properties.MaxLength()
},
css: {
underline: properties.Underline,
strikethrough: properties.Strikethrough,
readonly: viewState.displayMode() === AppMagic.Constants.DisplayMode.View
},
value: text,
event: {
click: handleClick,
change: handleOnChange
},
style: {
fontFamily: properties.Font,
fontSize: properties.Size,
color: autoProperties.Color,
fontWeight: properties.FontWeight,
fontStyle: properties.Italic,
textAlign: properties.Align,
lineHeight: properties.LineHeight,
paddingTop: properties.PaddingTop,
paddingRight: properties.PaddingRight,
paddingBottom: properties.PaddingBottom,
paddingLeft: properties.PaddingLeft
},
disable: viewState.displayMode() === AppMagic.Constants.DisplayMode.Disabled" type="text" title="Subject: Here is a subject" aria-label="Subject: Here is a subject" placeholder="" readonly="true" data-control-part="text" inputmode="text" tabindex="30" style="font-family: "Open Sans", sans-serif; font-size: 12pt; color: rgb(51, 51, 51); font-weight: 600; font-style: normal; text-align: left; line-height: 1.2; padding: 5px;">
<div class="appmagic-text-clear-container">
<button class="appmagic-text-clear-button" data-control-part="clear" data-bind="
visible: isFocused() && properties.Clear() && properties.Text() && mode() !== 'password' && viewState.displayMode() === AppMagic.Constants.DisplayMode.Edit,
event: {click: handleClearClick},
attr: {'aria-label': AppMagic.Strings.TextInputClearButtonLabel},
style: {color: autoProperties.Color}" aria-label="Clear value" tabindex="31" style="display: none; color: rgb(51, 51, 51);">
<svg class="appmagic-text-clear-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" aria-hidden="true" focusable="false">
<polygon points="12,1.1 10.9,0 6,4.9 1.1,0 0,1.1 4.9,6 0,10.9 1.1,12 6,7.1 10.9,12 12,10.9 7.1,6"></polygon>
</svg>
</button>
</div>
<!-- /ko -->
<!-- ko if: properties.Format() === 'number' && viewState.displayMode() === AppMagic.Constants.DisplayMode.Edit --><!-- /ko -->
</div>
Please sign in to leave a comment.